adding elements from cell array to another

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

 采纳的回答

m = cellfun(@(A,B)[A B],m,y,'uni',false);

5 个评论

if m initially is empty how do you add y to it using the function that you have mentioned?
You will need to add code to initialize m. E.g., something like this
m = cell(size(y));
Or maybe you will need to have this execute conditionally, e.g.,
if( isempty(m) )
m = cell(size(y));
end
It is hard to say what the correct way of initializing m will be without seeing the code prior to the merger and where m comes from initially.
initially m={}. i generate y of different sizes and keep adding it to m
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?

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Cell Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by