Time averaged values for each 100 iteration

조회 수: 1 (최근 30일)
m m
m m 2020년 1월 1일
편집: Matt J 2020년 1월 1일
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)

답변 (2개)

Matt J
Matt J 2020년 1월 1일
편집: Matt J 2020년 1월 1일
Xaveraged=mean(reshape(X,100,[]));
  댓글 수: 1
m m
m m 2020년 1월 1일
thank you Matt for your rely.
but i dont intersttand Xaveraged=mean(reshape(X,100,[])); because Xaveraged depends on K, i want for each 100 m iteration store the values of Xaveraged in each K.

댓글을 달려면 로그인하십시오.


Matt J
Matt J 2020년 1월 1일
편집: Matt J 2020년 1월 1일
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
Matt J
Matt J 2020년 1월 1일
편집: Matt J 2020년 1월 1일
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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Boundary Conditions에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by