Entrelazar matrices con futura ampliación automática
Publicado por Pepe (1 intervención) el 18/07/2013 14:28:59
Buenas tardes, quería preguntaros a ver si me podríais ayudar...
Tengo:
A=[1 2;6 7; 10 11];
B=[8 9;4 5; 12 13];
numero_filas=3
numero_col=2
Y quiero que me ordene de tal manera que:
C=[1 2; 8 9; 6 7; 4 5; 10 11; 12 13]
Podría hacerlo manual mente pero quiero que si cambio los datos de A o B, automáticamente me cambie la matriz C ordenandola con la misma lógica
He intentado esto pero no me sale:
for i=1:numero_filas
for j=1:numero_col
if rem(i,2)==0 %es par
C(i,j)=B(i,j)
else
C(i,j)=A(i,j)
end
end
end
Me crea una matriz de solo 3 filas.
1 2
4 5
10 11
Otra opción es:
[A_a,A_b]=size(A);
[B_a,B_b]=size(B);
w=A_a+B_a
for i=1:w
for j=1:numero_col
if rem(i,2)==0 %es par
C(i,j)=B(i,j)
else
C(i,j)=A(i,j)
end
end
end
Pero lógicamente me dice que A y B solo tienen 3 filas, no 6 columnas
Un saludo y muchas gracias
Tengo:
A=[1 2;6 7; 10 11];
B=[8 9;4 5; 12 13];
numero_filas=3
numero_col=2
Y quiero que me ordene de tal manera que:
C=[1 2; 8 9; 6 7; 4 5; 10 11; 12 13]
Podría hacerlo manual mente pero quiero que si cambio los datos de A o B, automáticamente me cambie la matriz C ordenandola con la misma lógica
He intentado esto pero no me sale:
for i=1:numero_filas
for j=1:numero_col
if rem(i,2)==0 %es par
C(i,j)=B(i,j)
else
C(i,j)=A(i,j)
end
end
end
Me crea una matriz de solo 3 filas.
1 2
4 5
10 11
Otra opción es:
[A_a,A_b]=size(A);
[B_a,B_b]=size(B);
w=A_a+B_a
for i=1:w
for j=1:numero_col
if rem(i,2)==0 %es par
C(i,j)=B(i,j)
else
C(i,j)=A(i,j)
end
end
end
Pero lógicamente me dice que A y B solo tienen 3 filas, no 6 columnas
Un saludo y muchas gracias
Valora esta pregunta


0