数学建模代码1、一老人60岁时将养老金10万元存入基金会, 月利率0.4%,他每月取1000元做生活费, (1)建立差分方程模型计算他每年末尚有多少钱? (2)多少岁时将基金用完? (3)如果想用到80岁,60岁时应存多少钱?请给出MATLAB的代码
时间: 2024-01-21 12:16:01 浏览: 57
【老生谈算法】matlab数学建模之差分方程模型.doc
5星 · 资源好评率100%
(1) 差分方程模型为:S(n+1) = S(n)×(1+0.4%/12) - 1000,其中S(n)表示第n个月末所剩余的钱数。由于每年有12个月,因此可以写成:
S(n+12) = S(n)×(1+0.4%/12)^12 - 1000×12
(2) 基金用完时,S(n) = 0,因此可以列出以下方程:
S(n)×(1+0.4%/12)^12 - 1000×12 = 0
解这个方程可以得到老人将在84岁时将基金用完。
(3) 为了用到80岁,可以列出以下方程:
S(n+20×12) = S(n)×(1+0.4%/12)^(20×12) - 1000×12×20
解这个方程可以得到老人需要在60岁时存入约268,174.44元。
下面是MATLAB的代码实现:
``` matlab
% 输入参数
S = 100000; % 存入基金会的金额
r = 0.4/100/12; % 月利率
m = 1000; % 每月取出的金额
% 计算每年末所剩余的钱数
for n = 1:12*24
S = S*(1+r) - m;
if mod(n,12) == 0
fprintf('第 %d 年末余额为 %.2f 元\n', n/12, S);
end
if S <= 0
fprintf('基金用完时,年龄为 %d 岁\n', 60+n/12);
break;
end
if n == 12*20
fprintf('使用至 80 岁时,需要存入 %.2f 元\n', S);
break;
end
end
```
阅读全文