我想用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里面就是你要求的啦