Access value in cell arrays
Show older comments
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 Comments
per isakson
on 29 Jun 2013
Is A supposed to be a cell arrays of structures?
A field named "str" holding a numerical value isn't that confusing?
TN
on 29 Jun 2013
Accepted Answer
More Answers (2)
No. You can do this instead
A(1).str = 1;
A(2).str = 2;
...
A(10).str = 10;
B=[A(:).str]
3 Comments
TN
on 29 Jun 2013
Matt J
on 29 Jun 2013
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
on 29 Jun 2013
Edited: per isakson
on 29 Jun 2013
I agree.
However, for some reason the cell array may contain structures with only some fields in common.
James Tursa
on 29 Jun 2013
Another variation:
x = [A{:,1}];
B = [x.str];
Categories
Find more on Cell Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!