adding elements from cell array to another

1 view (last 30 days)
i have cell array m [1x4] [1x5] and a cell array named y whose dimensions are [1x4] [1x5]. i want to put the y cell array into m such that resulting m is [1x8] [1x5] e.g
m{1}=2 3 6 44
m{2}= 12 34 25 66
and
y{1}=10 5 1 8
y{2}=3 0 9 6 7
resulting m should be
m{1}=2 3 6 44 10 5 1 8
m{2}=12 34 25 66 3 0 9 6 7

Accepted Answer

James Tursa
James Tursa on 12 Sep 2017
Edited: James Tursa on 12 Sep 2017
m = cellfun(@(A,B)[A B],m,y,'uni',false);
  5 Comments
Shivik Garg
Shivik Garg on 12 Sep 2017
initially m={}. i generate y of different sizes and keep adding it to m
James Tursa
James Tursa on 12 Sep 2017
Edited: James Tursa on 12 Sep 2017
So, if m={} initially, then you can use the 2nd method above with the if-test. Just put that immediately prior to the cellfun call.
But, what do you mean by "generate y of different sizes"? Will y have a different number of cell elements on each iteration? E.g., is it possible that on one iteration y will have 2 vectors, but on another iteration if might have 5 vectors?

Sign in to comment.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!