How is it possible to plot the average of a vector that has a different size in each iteration?

조회 수: 1 (최근 30일)
I'm trying to obtain a plot of M by averaging 10 simulations of M, but the problem is that it has a different size in each run.
Of course I'm getting this error message:
Unable to perform assignment because the size of the left side is 1-by-17 and the size of the right side is 1-by-15
for jj = 1:10
[G_dmg,G_orig, M,L_fail,overLoad,b] = Load_initial(G,5,0,460,1010,600,1000);
t = 2;
while M(t-1)- M(t)~=0
[G_dmg,M,b] = Load_Stages(G_dmg,L_fail,M,b,25);
t = t+1;
end
Mavg(jj,:)=M;
end
Mavg = mean(Mavg,1);
figure(1)
plot(1:length(Mavg(1:end-1)),Mavg(1:end-1));
Thank you.

채택된 답변

KSSV
KSSV 2021년 6월 3일
Mavg = zeros(10,1) ;
for jj = 1:10
[G_dmg,G_orig, M,L_fail,overLoad,b] = Load_initial(G,5,0,460,1010,600,1000);
t = 2;
while M(t-1)- M(t)~=0
[G_dmg,M,b] = Load_Stages(G_dmg,L_fail,M,b,25);
t = t+1;
end
Mavg(jj)=mean(M);
end
plot(Mavg)
  댓글 수: 11
Waseem AL Aqqad
Waseem AL Aqqad 2021년 6월 4일
No I have not. I'm attaching two plots of Mavg for 2 different no. of iterations 10 and 30.
The plot for 10 iterations is perfect but as for 30,the curve should not go down again once it reaches 5000.
Waseem AL Aqqad
Waseem AL Aqqad 2021년 6월 4일
So basically, the x-axis represents the time which is also the no. of columns of M and the y-axis represents the cumulative number of packets of information fails in each time step. And the total no. of packets is 5000, so the curve eventually should stop once it reaches 5000.

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

추가 답변 (1개)

SALAH ALRABEEI
SALAH ALRABEEI 2021년 6월 5일
Finding the minimum length ( assum it is 10) , then use the moving average ( smoothing) all the other results to get all of them with same length (10). In short, shorten all the arrays to one fixed length by averaging them using smooth function.

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by