Access value in cell arrays
Mostra commenti meno recenti
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 Commenti
per isakson
il 29 Giu 2013
Is A supposed to be a cell arrays of structures?
A field named "str" holding a numerical value isn't that confusing?
TN
il 29 Giu 2013
Risposta accettata
Più risposte (2)
No. You can do this instead
A(1).str = 1;
A(2).str = 2;
...
A(10).str = 10;
B=[A(:).str]
3 Commenti
TN
il 29 Giu 2013
Matt J
il 29 Giu 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
il 29 Giu 2013
Modificato: per isakson
il 29 Giu 2013
I agree.
However, for some reason the cell array may contain structures with only some fields in common.
James Tursa
il 29 Giu 2013
Another variation:
x = [A{:,1}];
B = [x.str];
Categorie
Scopri di più su Cell Arrays in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!