how to index a cell array
Show older comments
Hi, I encountered a Matlab problem again. I want to access all struct field elements, which is an element of a cell array, at one time, not using loop. Such as:
s{1} = struct('ID',1,'other field',...);
s{2} = struct('ID',2,'other field',...);
I want to access all ID values in the cell s, I write the code like this:
IDs = [s{:}.ID];
This does not work, how to access all ID values not using for loop, please?
2 Comments
Stephen23
on 23 May 2018
If you used just one non-scalar structure (rather than lots of scalar structure in a cell array) then the solution would be very simple:
S(1) = struct('ID',1,'other field',...);
S(2) = struct('ID',2,'other field',...);
[S.ID]
Simpler, more efficient code through better data design. Why make your code more complex than this?
li yan
on 23 May 2018
Accepted Answer
More Answers (0)
Categories
Find more on Structures 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!