Combine two cell array of different dimension

45 views (last 30 days)
I have a two cell array A = {1,2}, B={4;5;6}
I need the result as one single array C = { 1 2 4
5
6 }
How it can be done?
Thank you
  1 Comment
Guillaume
Guillaume on 7 May 2015
Edited: Guillaume on 7 May 2015
If your cell arrays only contain scalar values, why are you bothering with cell arrays instead of the much faster and easier to use plain matrices?
Furthermore, it's unclear what output you want. Note that:
C = { 1 2 4
5
6 }
is not valid matlab syntax.

Sign in to comment.

Accepted Answer

Thomas Koelen
Thomas Koelen on 7 May 2015
Edited: Thomas Koelen on 7 May 2015
A={1,2};
B={4,5,6};
C=cat(2,A,B)
C =
[1] [2] [4] [5] [6]
2 in cat is the direction you want to concatenate in, 1 does it vertically, which doesn't work because the cell doesn't have the same number of columns!
  3 Comments
Gopalakrishnan venkatesan
Edited: Gopalakrishnan venkatesan on 7 May 2015
I have B as 3x1 and A as 1x2. I have to concatenate in that case. Is it possible?
thank you
Thomas Koelen
Thomas Koelen on 7 May 2015
O, I didn't seee that! Must've thought it was a typo.
What you can do is:
A={1,2};
B={4;5;6};
C=cat(2,A,B')
C =
[1] [2] [4] [5] [6]
Like Guillaume said, there is no way to make a matrix or cell that's not a rectangle.

Sign in to comment.

More Answers (2)

Sabarinathan Vadivelu
Sabarinathan Vadivelu on 7 May 2015
Edited: Sabarinathan Vadivelu on 7 May 2015
Try this
A = {1,2};
B = {3, 5, 6};
C = horzcat(A, B)
ans =
C = {1 2 3 5 6}
  3 Comments
Gopalakrishnan venkatesan
Edited: Gopalakrishnan venkatesan on 7 May 2015
I have B as 3x1 and A as 1x2. I have to concatenate in that case. Is it possible?
thank you
Sabarinathan Vadivelu
Sabarinathan Vadivelu on 7 May 2015
You should transpose one vector and then concatenate it.

Sign in to comment.


singh
singh on 7 May 2015
Edited: singh on 7 May 2015
A = {1,2}, B={3;4;5}
vertcat([A]',B)
ans =
[1]
[2]
[3]
[4]
[5]

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!