作者:欧新宇(Xinyu OU)
当前版本:Release v1.0
开发平台:Python3.11
运行环境:Intel Core i7-7700K CPU 4.2GHz, nVidia GeForce GTX 1080 Ti
本教案所涉及的数据集仅用于教学和交流使用,请勿用作商用。
最后更新:2024年3月2日
【知识点】
差分方程、微分方程
【作业要求】
使用word文档或Markdown文档进行作答,使用Python编写程序,最终结果合并为一个word文档或Markdown文档,并另存为PDF格式进行提交。
注意:可以使用手机拍照文档进行提交,但请不要使用word文档直接进行提交。
【问题描述】
[习题8.9-P256] 某家庭考虑购买某位置住宅公寓,总价约60万元,按照开放商要求至少需首付20万元,剩余款项可申请银行贷款。假设贷款期限为30年,月利率为 0.36%,建立模型测算等额还款时,月还款额是多少?
要求:构造差分方程,并使用python编程进行求解
【答案及解析】
根据题意,贷款总额 Q=600000−200000=400000 元,贷款期限 N=30×12=360 月,月利率 r=0.36%。设月还款额为 x 元, yn(n=1,2,...,N) 为第 n 个月的欠款总额(单位:元)。
建立差分方程如下:
{yn=(1+r)yn−1−x,y0=Qn=1,2,...,N
使用递推法,可以求得差分方程的解为:
yn=(1+r)nQ−xr(1+r)n−1
当 N=360 时,应全部还清欠款,即 yN=y360=0
yN=(1+r)NQ−xr(1+r)N−1=0
解得:
x=(1+r)N−1(1+r)NQr=(1+0.0036)360−1(1+0.0036)360×400000×0.0036=1984.19(元)
到期后累计还款额为 1984.19×360 = 714308.4(元)
r = 0.0036
N = 360
Q = 400000
x = round((1+r)**N * Q * r/((1+r)**N-1), 2)
xSum = x * N
print('x =', x)
print('xSum =', xSum)
x = 1984.19
xSum = 714308.4