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

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 件のコメント

"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...

サインインしてコメントする。

 採用された回答

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 件)

カテゴリ

ヘルプ センター および File ExchangeStructures についてさらに検索

製品

リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by