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 次查看(过去 30 天)
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 个评论
Stephen23
Stephen23 2023-1-13
"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...

请先登录,再进行评论。

采纳的回答

Jan
Jan 2023-1-13
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');

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by