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

回答(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

类别

帮助中心File Exchange 中查找有关 Structures 的更多信息

提问:

2016-4-13

编辑:

2019-6-19

Community Treasure Hunt

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

Start Hunting!

Translated by