how to create a struct that would have number of fields that corresponds to the number of iterations inside a loop and also automatically save this data
1 view (last 30 days)
Show older comments
osasunmwen efosa
on 13 Jan 2023
Commented: osasunmwen efosa
on 13 Jan 2023
for day = 1:7
for i = 1:length(signal)
for j = 1:36
MPE1(i,j) = signal(i,j,day) - signal(i,j,day) - kE1 * (signal(i,j,day) - signal(i,j,day));
end
end
MeanE1 = movmean(MPE1,3,'omitnan');
zero_meanE1 = MPE1(:,PRN) - MeanE1(:,PRN); %% need to save this in struct for each day
end
1 Comment
Stephen23
on 13 Jan 2023
"how to create a struct that would have number of fields that corresponds to the number of iterations..."
So many fields... complex.
Simpler: non-scalar structure, cell array, numeric array...
Accepted Answer
Jan
on 13 Jan 2023
Result = struct();
for day = 1:7
% No loop needed:
MPE1 = signal(:, :, day) - signal(:, :, day) - kE1 * (signal(:, :, day) - signal(:, :, day));
MeanE1 = movmean(MPE1, 3, 'omitnan');
zero_meanE1 = MPE1(:,PRN) - MeanE1(:,PRN);
Result(day).zmE1 = zero_meanE1;
% Or:
% Result.zmE1{day} = zero_meanE1;
end
save('Result.mat', 'Result');
More Answers (0)
See Also
Categories
Find more on Structures 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!