Access value in cell arrays
显示 更早的评论
A{1,1}.str = 1;
A{2,1}.str = 2;
... (so on)
A{10,1}.str = 10;
Can I say:
B = A{:,1}.str;
so that:
B=[1 2 3 4 5 6 7 8 9 10];
Thanks very much
2 个评论
per isakson
2013-6-29
Is A supposed to be a cell arrays of structures?
A field named "str" holding a numerical value isn't that confusing?
TN
2013-6-29
采纳的回答
更多回答(2 个)
No. You can do this instead
A(1).str = 1;
A(2).str = 2;
...
A(10).str = 10;
B=[A(:).str]
3 个评论
TN
2013-6-29
Matt J
2013-6-29
It would not make sense to hold structures having the same fields inside cells. It just makes them harder to get to (as you've discovered).
per isakson
2013-6-29
编辑:per isakson
2013-6-29
I agree.
However, for some reason the cell array may contain structures with only some fields in common.
James Tursa
2013-6-29
Another variation:
x = [A{:,1}];
B = [x.str];
类别
在 帮助中心 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!