赞
踩
MATLAB:MATLAB R2012a
要求输入贷款总额,贷款年利率,贷款期限,还款方式(等额本息,等额本金),输出每月还款的金额(等额本金的还款金额要求从第一月到最后一月都显示),以及还款的总额,总利息。
等额本息还款模型:
每月还款:a=xr(1+r)n/((1+r)n-1)
还款总额:A=na=n xr(1+r)n/((1+r)n-1)
总利息:s=A-x
等额本金还款模型:
每月还款:x=x/n+x*(1-(k-1)/n)r k=1,2,….,n
还款总额:A=x+xr*(n+1)/2
总利息:s=A-x
loan1()函数代码:
function [ ] = loan1( x,r,n )
a=x*r*(1+r)^n/((1+r)^n-1);
fid=fopen('output.txt','w+');
for k=1:n
fprintf(fid,'第%d月需还的金额为:%.4f\n',k,a);
end
A=n*a;
fprintf(fid,'应还的总额为:%.4f\n',A);
fprintf(fid,'还款的利息为:%.4f\n',A-x);
fclose(fid);
end
loan2()函数代码:
function [] = loan2( x,r,n )
fid=fopen('output.txt','w+');
for k=1:n
s=x/n+x*(1-(k-1)/n)*r;
fprintf(fid,'第%d月需还的金额为:%.4f\n',k,s);
end
A=x+x*r*(n+1)/2;
fprintf(fid,'应还的金额为:%.4f\n',A);
fprintf(fid,'还款的利息为:%.4f\n',A-x);
fclose(fid);
end
opt()函数代码:
function [] = opt( flag )
while(flag~=0)
if flag==1
A=input('请输入贷款金额,利率,还款月数:');
loan1(A(1),A(2),A(3))
else
A=input('请输入贷款金额,利率,还款月数:');
loan2(A(1),A(2),A(3))
end
flag=input('请输入标志是否结束循环(0:结束 1:等额本息 2:等额本金):');
end
end
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。