Concatenating Matrices with different columns

1 view (last 30 days)
Hi, Is there an easy way to concatenate matrices with different columns? That is, if A is 2x3 and B is 2x5, how do I make C=A;B? The problem is sometimes columns in A is larger than columns in B and vice versa.
Thanks.

Answers (2)

Youssef  Khmou
Youssef Khmou on 31 Jan 2014
Edited: Youssef Khmou on 31 Jan 2014
Linden,
One of the ways is to use cells, here is an example,
A=rand(2,3);
B=rand(2,5);
C=cell(2,1);
C{1,1}=A;
C{2,1}=B;

Walter Roberson
Walter Roberson on 31 Jan 2014
Numeric matrices cannot have varying number of columns. Cell matrices can contain multiple objects that do not need to be the same size as each other.
You can pad matrices as you put them together: compare their size() to figure out how the padding needs to happen.
  3 Comments
Walter Roberson
Walter Roberson on 31 Jan 2014
You can fill with numbers other than zeros, including NaN. NaN would allow you to unambiguously detect padding without danger that actual values to calculate with might happen to be NaN, which would potentially be a problem with padding with 0.

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!