Reshape Nx1 struct with field of Mx1 elements to N*Mx1 vector
5 次查看(过去 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:
采纳的回答
更多回答(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!