Form a matrix from a structure
3 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Azzi Abdelmalek
2013 年 2 月 4 日
編集済み: Azzi Abdelmalek
2013 年 2 月 4 日
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 件のコメント
Azzi Abdelmalek
2013 年 2 月 4 日
編集済み: Azzi Abdelmalek
2013 年 2 月 4 日
out=struct2cell(x); % x is your struct variable
out(:)
What did you get?
その他の回答 (2 件)
Cedric
2013 年 2 月 4 日
If it is a cell array and cells contents have matching sizes:
>> doc cell2mat
4 件のコメント
Cedric
2013 年 2 月 4 日
編集済み: Cedric
2013 年 2 月 4 日
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.
参考
カテゴリ
Help Center および File Exchange で Data Import and Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!