Create a vector with data from a structure named with the field name

Hi, I want to créate a vector, currently I've named manually using the next way:
Actual_Gear_Ratio = [];
>> for i=1:length(x)
Actual_Gear_Ratio=[Actual_Gear_Ratio; x(i).Actual_Gear_Ratio]; % read/concatenate
end
What I want to avoid is the necessity to name every vector, I have a cell array (myVars) with all the variable names but I haven't be able to créate all the vectors automatically. I've tried things like this:
for i=1:length(x)
for j=1:length(myVars)
myVars(1,j)=[myVars(1,j); x(i).myVars(1,j)]; % read/concatenate
end
end
Hope you can help me. Thanks

Answers (2)

Oh, I guess so I have to start working with structures. Thanks for your answer is good to know why must be avoided this kind of practices.
How can I concatenate every field to at the end get a 1 x 1 with same original 15 fields in a new structure? i guess this could be really simple but I couldn't find the solution.
Thanks

Categories

Asked:

on 13 Apr 2016

Edited:

on 19 Jun 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!