solution for sequentially concatenating matrices

7 visualizaciones (últimos 30 días)
Pablo
Pablo el 12 de Dic. de 2012
Hello,
I was wondering if there was a simple function to concatenate 2 matrices of same dimensions so that:
A=[ a c ]
[ b d ]
B=[ e g ]
[ f h ]
when concatenated it follows first column of A, then first column of B, second column of A, second column of B:
C=[a e c g]
[b f d h]
I can do it with a for loop, however I was wondering whether there was a more elegant way to do it?
Thanks
  2 comentarios
Thomas
Thomas el 12 de Dic. de 2012
are you cat'ing string/numeric values? can you give an example with numbers?
Pablo
Pablo el 12 de Dic. de 2012
Yes, numbers are being concatenated, I think the solution below is the simplest one. However - I still need to place them within a cell matrix (that has column and row headers).
So for example --
D %cell matrix same size as A or B, where each cell will correspond to the merged values of C.
For example,
A=[ 1 3 ] [ 2 4 ]
B=[ 5 7 ] [ 6 8 ]
C=[1 5 3 7] [2 6 4 8]
And in the Cell matrix D: D {1,:}= column headers D{:,1}= row headers
and therefore: D {2,2} = [1 5] D{3,4} = [4 8]
Does this make sense?

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 12 de Dic. de 2012
C = reshape(vertcat(A,B), size(A,1), []);

Más respuestas (1)

Pablo
Pablo el 12 de Dic. de 2012
Actually, I think the solution would be:
C(:,1:2:columns*2)=A; C(:,2:2:columns*2)=B;

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by