Time averaged values for each 100 iteration
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
i want to calculate the time averged value for each 100 iteration. knowing that my program is like this :
for m = 1:20000 %time iteration
for k = 1:1000
X(k)=
end(k)
if m>10000
%here i want to calculate the aceraged valu of X but for each 100 itaetation (m) i want to store the Xaveraged
for k = 1:1000
Xaveraged(k)=Xaveraged(k) + X(k)
end
end
end(m)
0 Kommentare
Antworten (2)
Matt J
am 1 Jan. 2020
Bearbeitet: Matt J
am 1 Jan. 2020
Maybe this is what you want.
X=nan(1000,20000); %pre-allocate
for m = 1:20000 %time iteration
for k = 1:1000
X(k,m)=... %store for all k and m
end
end
%compute after iterations all finished
Xaveraged=squeeze( mean(reshape(X,1000,100,[]),2) );
1 Kommentar
Matt J
am 1 Jan. 2020
Bearbeitet: Matt J
am 1 Jan. 2020
Or, if you want to be more conservative with memory (but why??), then a variation is
X=nan(1000,100); %pre-allocate
Xaveraged=nan(1000,200); %pre-allocate
for s=1:200
for t=1:100
m=s*t; % time iteration number
for k = 1:1000
X(k,t)=...
end
end
Xaveraged(:,s)=mean(X,2);
end
Siehe auch
Kategorien
Mehr zu Boundary Conditions finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!