solution for sequentially concatenating matrices

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

Thomas
Thomas 2012년 12월 12일
are you cat'ing string/numeric values? can you give an example with numbers?
Pablo
Pablo 2012년 12월 12일
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?

댓글을 달려면 로그인하십시오.

 채택된 답변

Walter Roberson
Walter Roberson 2012년 12월 12일
C = reshape(vertcat(A,B), size(A,1), []);

추가 답변 (1개)

Pablo
Pablo 2012년 12월 12일

0 개 추천

Actually, I think the solution would be:
C(:,1:2:columns*2)=A; C(:,2:2:columns*2)=B;

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2012년 12월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by