Form a matrix from a structure
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a 32*32 data structure. There are 1*1 structures in each of those 32*32 cells. However, i would like to extract all the binary data in the substructures and align them into one matrix. any one with some code that could help me do this please? Thank you
2 commentaires
Réponse acceptée
Azzi Abdelmalek
le 4 Fév 2013
Modifié(e) : Azzi Abdelmalek
le 4 Fév 2013
Try
x(1,1).data=1;
x(1,2).data=[2 1];
x(2,1).data=rand(2);
x(2,2).data=[1;2];
out=struct2cell(x);
out(:)
4 commentaires
Azzi Abdelmalek
le 4 Fév 2013
Modifié(e) : Azzi Abdelmalek
le 4 Fév 2013
out=struct2cell(x); % x is your struct variable
out(:)
What did you get?
Plus de réponses (2)
Cedric
le 4 Fév 2013
If it is a cell array and cells contents have matching sizes:
>> doc cell2mat
4 commentaires
Cedric
le 4 Fév 2013
Modifié(e) : Cedric
le 4 Fév 2013
Seems that you edited the question since I posted my answer. Seeing your answer to Azzi, you should just look at what are these variables that you are dealing with, e.g.
>> S = load('Compressed.dat') ;
S =
ans: {...}
data: {...}
>> class(S)
ans =
struct
>> class(S.data)
ans =
cell
>> size(S.data)
ans =
32 32
... doing that would help you truly understand the structure of the objects that you are dealing with, which will allow you to index them correctly.
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!