Trouble with For Loop
5 views (last 30 days)
Show older comments
I am having trouble creating a for loop to repeat a set of code completed for 1 subject to the next 34 (in total 35 subjects). The data set has a row of ECG data per subject and it was extracted by dataN_1 = ecg_data (:,1). The data was later filtered and mean HR and RR intervals for the ECG were calculated for subject 1. How do I repeat everything but with different names e.g. mean_HR_subject1, mean_HR_subject2, etc. to calculate the mean and std for HR and HR variability for the 35 subjects?
Thank you!
0 Comments
Accepted Answer
More Answers (1)
Walter Roberson
on 1 Dec 2023
If you need to compute different field names for a struct, or different property names for objects, you can use dynamic field names. It would look something like this,
for iteration = 1 : 35
HRfield = "HR_subject" + iteration;
mHRfield = "mean_" + HRfield;
data_in = TheStruct.(HRfield);
data_out = some calculation on data_in
TheStruct.(mHRfield) = data_out;
end
See also structfun
There are also useful techniques working with tables, such as rowfun and varfun and groupsummary -- you could potentially convert to table using struct2table
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!