How to create vectors from a cell array?

32 次查看(过去 30 天)
I have a cell array consisting of 3 cells (1x10, 1x15, 1x20). How can I efficiently create 3 vectors?

回答(2 个)

Adam
Adam 2017-7-3
编辑:Adam 2017-7-3
[a,b,c] = myCell{:};
Not advisable if the number of vectors you want to create escalates to the state that you are next going to ask how you name then a1, a2, a3, etc, but for just extracting an explicit number of outputs the above should work.
  5 个评论
Stephen23
Stephen23 2017-7-3
编辑:Stephen23 2017-7-3
cellfun(@cumsum,C,'uni',0)
where C is your input cell array.

请先登录,再进行评论。


Image Analyst
Image Analyst 2017-7-3
Use deal():
% Setup: Make cell array consisting of 3 cells (1x10, 1x15, 1x20).
ca = {ones(1,10), rand(1,15), randi(9, 1, 20)}
celldisp(ca); % Display it.
% Make vectors
[v1, v2, v3] = deal(ca{:})
or simply assign the 3 vectors
v1 = ca{1};
v2 = ca{2};
v3 = ca{3};

类别

Help CenterFile Exchange 中查找有关 Cell Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by