MATLAB: How to call data from a structure array

call structure datastruct arraystructurestrut

Hi, I need help.
I need to get these results [using the calls: experiments, experiments(2), and experiments(1).height]:
>> experiments
experiments =
1×2 struct array with fields:
num
code
weights
height
>> experiments(2)
ans =
num: 11
code = ‘t’
weights: [111.4500 111.1100]
height: [1×1 struct]
>> experiments(1).height
ans =
feet: 5
inches: 6
I have this code, but I really don't know how to call and display the results above, because using the calls just lead to errors. What must be missing in my code?
experiments(1).num = 33;
experiments(1).code = 'x';
experiments(1).weights.1 = 200.34;
experiments(1).weights.2 = 202.45;
experiments(1).height.feet = 5;
experiments(1).height.inches = 6;
experiments(2).num = 11;
experiments(2).code = 't';
experiments(2).weights.1 = 111.45;
experiments(2).weights.2 = 111.11;
experiments(2).height.feet = 7;
experiments(2).height.inches = 2;
I also tried this kind of arrangement/code…
experiments(1) = struct('num',33,'code','x','weights',struct('1',200.34,'2',202.45),'height',struct('feet',5,'inches',6))
experiments(2) = struct('num',11,'code','t','weights',struct('1',111.45,'2',111.11),'height',struct('feet',7,'inches',2))
Your assistance will be greatly appreciated. Thanks in advance!

Best Answer

You cannot name a field with just numbers
% This is not a correct syntax
experiments(2).weights.1 = 111.45;
experiments(2).weights.2 = 111.11;
Fields, like variables in MATLAB, must start with a letter.
experiments(2).weights.W1 = 111.45;
experiments(2).weights.W2 = 111.11;