我试图获得系列的前120个术语的总和:
a(n)=(10 + a(n-1))(1.005)^ n
我尝试了两种方法,但我不知道自己犯了哪些错误。
方法#1:
nval = 1
mval = zeros(120,1)
for nval=1:120
if nval <= 120 %counting up from 1 to 120
if nval == 1 %modifying first term to avoid 0 index
mval(1) = (10)*(1.005)
nval = nval +1;
else
mval(nval) = (10+mval(nval-1))*(1.005)^nval; %Assigning
nval = nval +1;
end
end
end
导致列向量在顶部为10.05,其余为零。如果省略mval的开头定义为零,我得到与
相同的结果方法#2:
a(1)=10.05; %defining first term to avoid 0 index
for n=2:120, a(n)= (10+a(n-1))*(1.005)^n; end
导致一些太大的东西。
(a(120)的正确值是~1646.99)
编辑:我的错误和道歉 - 我的系列错了; (1.005)^ n不是n次幂,而只是1.005。使用它,这两种方法都有效。 感谢所有人提供的答案和建议