我正在尝试为家庭作业写一个超级基础程序,我很难入门,并希望得到一点帮助。这是提示: 想象一下,你去了银行并在一个赚取6%的帐户中存入了20,000美元 每年的利息,每年的利息都存入账户。写 一个MATLAB程序,用于计算累积所需的年数 $ 500,000。
所以,我知道我需要声明一些变量,并且我想使用带有if语句的for循环,因为我们还没有覆盖while循环。这是我到目前为止的尝试:
%This program calculates interest accumulated on a given value and the
%years it would take to reach a given goal value
%initial deposit
Deposit = 20000;
year = 0;
for year = 1:1:n
year = year + 1;
Deposit = Deposit*(1.06);
if Deposit < 500000
end
谢谢大家!!
答案 0 :(得分:0)
这里有两种for循环方法。一个是你原来的:
year = 0;
for i = 1:n
year = year + 1;
% blah blah Deposit
end
在这种情况下,i
计算for循环迭代的次数,并且您在循环内递增year
变量。正如@Peter指出的那样,这是多余的,您可以简单地使用year
作为循环变量,然后它会自动增加为循环变量的性质。
for year = 1:n
% No need to increment "year", that is being done by the for loop
% blah blah Deposit
end
我更喜欢你最初的想法(当你了解while
循环时,它会更好地概括)。不管您选择哪种版本,它最终都会运行n
次迭代,这可能不是您想要的。为了尽早停止,您需要break
命令:
for ...
% blah blah Deposit
if (something about the Deposit)
% We achieved our stop condition, so break out of the for loop
break;
end
% Go on to the next for loop iteration
end
当它到达break
语句时,MATLAB会直接跳到循环结束。
然而,这确实引起了一个问题:你不知道你是否因为你遇到n
次迭代而退出了循环,或者因为你遇到了break
语句。因此,在假设这是您要查找的year
的值之前,您应该添加某种检查。