Reshape Nx1 struct with field of Mx1 elements to N*Mx1 vector
4 ビュー (過去 30 日間)
古いコメントを表示
I have a struct A of [1000x1] size. There is a field "bar" which has [100x1] elements.
I want to have 1 variable, let's say B, which will be [1000*100x1] of "bar" elements.
How can I do it without iterating a struct and appending on some prepared zeroed vector? Can reshape do it?
1 件のコメント
Stephen23
2022 年 5 月 22 日
"How can I do it without iterating a struct and appending on some prepared zeroed vector? Can reshape do it?!
No, but a comma-separated list can do it:
採用された回答
Bruno Luong
2022 年 5 月 22 日
編集済み: Bruno Luong
2022 年 5 月 22 日
Something like
B = cat(1,A.bar)
0 件のコメント
その他の回答 (1 件)
MJFcoNaN
2022 年 5 月 22 日
This is an example:
bar=rand(100,1)
A=struct;
A.bar=bar;
% copy A.bar to all 1000 elements
A(2:1000,1)=A(1)
% table is a good intermediate form
tbl=struct2table(A);
B=cell2mat(cellfun(@transpose, tbl.bar, 'UniformOutput', false))
参考
カテゴリ
Help Center および File Exchange で Structures についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!