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

85 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

Answers (2)

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', []);


Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by