store all array values in a field to a variable
4 views (last 30 days)
Show older comments
Rakesh Praveen
on 28 Jan 2014
Commented: Azzi Abdelmalek
on 28 Jan 2014
I have a test.mat file which contains 1x10 struct array values with 5 fields. The first field 'f' ie,. 'test.f' contains struct array with a dimension of [2x1 double]. I wanted to store all these 10 [2x1 double] values to another variable 'f_vec'. I tried 'getfield'
f_vec = getfield(test,'f')
but it gives out only 1 [2x1 double] value and not all the values from the struct array. when I tried the below command, I got an error.
f_vec = test.f(1,:)
??? Field reference for multiple structure elements that is followed by more
reference blocks is an error.
So all I wanted to do is to store all the [2x1 double] values from 'f' to f_vec. How do I do it ? Thank you.
0 Comments
Accepted Answer
More Answers (1)
Azzi Abdelmalek
on 28 Jan 2014
Edited: Azzi Abdelmalek
on 28 Jan 2014
v=struct('a',num2cell(1:10)','f',num2cell(rand(2,10),1)')
out=reshape([v.f],2,10)'
2 Comments
See Also
Categories
Find more on Structures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!