MATLAB: How do access a variable from structure based on a string name of the structure

MATLABstructures

I have a simulink model simulating different heat producers in a house. From this simulation I get a lot of data on the demand, the different suppliers, the power consumed etc.
The idea is to be able to run multiple simulations (outputs 1, 2 etc.) and present data for a single simulation, but also be able to compare data. This means making plots with data from multiple simulations, generating some tables with relevant variable. Each simulation has the same variable names, so that is why I need a way to acess data from multiple simulations. It can also be that an input is added and then I still would like to compare it to previous performed simulations with a different amount of variables (that is why the question dissimilar structures).
S1 = load ('Outputs1' )
S2 = load ('Outputs2' )
for i = 1:2
S(i).var1
S(i).var2
end
Is something like possible? I know i can do this: fldnm = 'varnam1'; % S1.(fldnm)
but the option above i have not yet found. I want to do this since I have multiple output files with many the same variables which i want to be able to plot and compare.

Best Answer

Very much possible...check the below demo code:
S1.name = 'Tom' ; S1.age = 14 ;
S2.name = 'Dick' ; S2.age = 15 ;
S(1) = S1 ;
S(2) = S2 ;
for i = 1:2
S(i).name
S(i).age
end
Related Question