2016-10-05 85 views
-5

请你帮我这里面的情节:MATLAB,循环

污染PT的水平,根据铂+ 1 = e0.02Pt演变加班。假设 P0 = 5。使用循环,计算100个周期的P的演变。然后绘制结果。

我试图像许多不同的方式:

for p = 5:1:100; x = p; y = exp(0.02)*x; plot(x,y,'-'); drawnow; 
pt = (1:120); for p = 5:1:100; pt =exp(0.02)*p; plot(p, pt, '-');drawnow; end 

没有任何成功。谢谢你的帮助!

+0

欢迎来到Stack Overflow!请查看我们的[SO问题清单](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)来帮助你提出一个好问题,从而得到一个很好的答案。 –

+5

你的问题不是MATLAB相关的。你的问题是,你不明白你的要求。您需要随着时间的推移绘制人口数量,而不是先前的人口数量与之前的人口数量。建议:1)手工完成一些计算步骤,2)查看模式,3)在MATLAB中实现该计算模式。 – 2016-10-05 06:01:25

回答

0

你首先需要认识到,问题是什么。您需要根据以前的计算来计算下一步。所以代码应该是这样的:

p=zeros(100,1); 
p(1)=5; 
for t = 2:1:100; 
    p(t)=exp(0.02)*p(t-1); 
end 
plot(p,'.'); 
xlabel('time') 
ylabel('pollution') 
title('pollution over time')