Joining multiple 1xn cell arrays into mxn cell array

3 次查看(过去 30 天)
Hello I have a function that returns a containers.Map object with values as 1xn cell arrays. For example
map=containers.Map({'OBJECT', 'COLOR', 'WGT'},{{'obj1','obj2','obj3'},{'red','blue','green'},{1.2,2.54,8.12}});
The values in map are 3 1x3 cells.
>> map.values
ans =
{1x3 cell} {1x3 cell} {1x3 cell}
I would like to join the 3 1x3 cell data into 3x3 cell data like this
>> transpose([{'obj1','obj2','obj3'};{'red','blue','green'};{1.2,2.54,8.12}])
ans =
'obj1' 'red' [1.2000]
'obj2' 'blue' [2.5400]
'obj3' 'green' [8.1200]
How do I do this?
Thanks Bhaskar

采纳的回答

Star Strider
Star Strider 2015-9-3
One possibility:
v = map.values;
vc = [v{1}', v{2}', v{3}']
vc =
'red' 'obj1' [1.2000e+000]
'blue' 'obj2' [2.5400e+000]
'green' 'obj3' [8.1200e+000]
  4 个评论
Bhaskar Edara
Bhaskar Edara 2015-9-3
I was able to do this using your idea.
vc=cell(3,3);
keys=map.keys;
for i=1:3
vc(:,i)=map(keys{i});
end
Thank you

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by