How to keep adding rows in a structure inside a for loop

39 views (last 30 days)
The screenshot below is what I want to accomplish. I have a for loop that, for each organ name, calculates the coverage, maxdose, and meandose. I would like to create an empty structure, then inside the for loop, for each iteration, store the corresponding information in a row, and then adds on to it for the next iteration. How would I do this?
psuedo code:
create a struct called PatientInfo with fieldnames: 'name', 'coverage', 'maxdose', and 'meandose'
for i = 1:4
calculates the corresponding coverage, maxdose & meandose;
writes these values to a row
end

Answers (2)

Matlab_Student
Matlab_Student on 25 Jan 2018
Answering my own question
In the loop:
structrow = structrow + 1;
PatientInfo(structrow).name = name_val;
PatientInfo(structrow).coverage = coverage_val;
PatientInfo(structrow).maxdose = maxdose_val;
PatientInfo(structrow).meandose = meandose_val;

Walter Roberson
Walter Roberson on 24 Jan 2018
Edited: Walter Roberson on 24 Jan 2018
PatientInfo = struct('name', {'BodyAuto', 'BrainStem', 'SpinalCord', 'Parotid_R'}, 'coverage', [], 'maxdose', [], 'meandose', []);

Products

Community Treasure Hunt

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

Start Hunting!