当前位置:编程学习 > Matlab >>

我想用MATLAB的fprintf把这段程序的s1输出应该怎么做呢?请大侠指教!谢谢!!

a=input('a\n') b=input('b\n') s1=(b-a)/a for i=1:1:2 a=b b=input('b\n') s1=(b-a)/a end
追问:
大侠您好!!根据您以上的式子我得到的是  s1= 1.428571e-001  没有实现输出循环的得数~~~您可否帮忙看看是否哪里出问题了?多谢!
两种方法:
1,你先把s1储存起来,最后再输出
这种方法就是先建立个空矩阵s2=[];
然后在循环中,s2=[s2 s1];
2.将那个输出语句放入循环中

你还是将程序思想给我说下吧 你编写的程序有点乱
我想算人口增长率~比如说a是07年的人口,b是08年的人口,s=(b-a)/a。然后又算08年到09年的人口,此时a=08年的人口,所以a=b。但是如果把for循环之前的那一段:a=input('a\n')
    b=input('b\n')
    s1=(b-a)/a 
放进for里 就要反复输入a,a=b就不起作用了,所以我就把这一段放到了for前边~恩就是这样啦~
为什么不把数据直接先放进a,b中 然后用循环呢?举个例子:
a=[233 433 333 533 774 566];%分别代表07-12年的人口。
s=[];
for i=1:length(a)-1
s1=(a(i+1)-a(i))/a(i);
s=[s s1];
end
s里面就是你要求的啦
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,