Matlab - union de vectores en función de un orden específico

   
Vista:

union de vectores en función de un orden específico

Publicado por Guillermo (10 intervenciones) el 15/08/2013 16:32:04
Hola a todos,

Tengo dos vectores de datos:

A = [a,b,c,d...]

B = [1,0,5,3,7,2,4,6]

Mi interés es crear un nuevo vector C que agrupe las dos matrices de manera intecarlada y siguiendo un orden específico, 1 letra por 2 números...

tal que

C = [a,1,0,b,5,3,c,7,2...]

Alguna idea?

Gracias de antemano,

Guillermo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jorge

union de vectores en función de un orden específico

Publicado por Jorge (212 intervenciones) el 15/08/2013 18:50:03
Hola Guillermo...

Te dejo un pequeño código para tal fin:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
clear;clc;
A={1 2 3 4 5 6};
B={'a','b','c'};
dimA=size(A);
dimB=size(B);
dimC=dimA(2)+dimB(2);
kA=1;kB=1;
C=cell(1,dimC);
for n=1:dimC
    switch n
        case {1 4 7}
           C(n)=B(kB);
           kB=kB+1;
        case {2 3 5 6 8 9}
           C(n)=A(kB);
           kA=kA+1;
    end
end
disp(C);


Evidentemente es código muy sencillo que habrías de mejorar en gran medida. Te lo comparto para que os tengáis una idea de como va esto. Cualquier duda podéis preguntar y en medida de lo posible te responderé.

Saludos y mucho éxito...

Jorge De Los Santos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

union de vectores en función de un orden específico

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3439 intervenciones) el 16/08/2013 08:18:19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
clear all
A = [{'ahgh'},{'b'},{'cdf'},{'ddfg'}];
B =[1,0,9095,3,77,2,4,456];
n=length(A);
k=1;
m=1;
for i=1:3*n
    if rem(i,3)==1
    C{i}=A{k};
    k=k+1;
 
    else
    C{i}=num2str(B(m));
    m=m+1;
    end
end
display(C)




1
2
3
4
5
6
7
8
9
10
11
>> unir_cadenas_char_y_numeros
C =
 
  Columns 1 through 9
 
    'ahgh'    '1'    '0'    'b'    '9095'    '3'    'cdf'    '77'    '2'
 
  Columns 10 through 12
 
    'ddfg'    '4'    '456'





Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com


http://matlabcaballero.blogspot.com


http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar