用MATLAB解决非线性方程

来源:百度知道 编辑:UC知道 时间:2024/06/08 18:13:50
(1)小张夫妇以按揭方式贷款买了一套价值20万的房子,首付了5万元,每月还款1000元,15年还清。问贷款利率是多少?
(2)某人与贷款50万元购房,他咨询了两家银行,第一家银行开出的条件是每月还4500元,15年还清;第二家银行开出的条件是每年还45000元,20年还清。从利率方面看,那家银行较优惠(简单的假设年利率=月利率*12)?

由计算公式:

每月还款额=本金*月利率*(1+月利率)^总期次/(((1+月利率)^总期次)-1)
或表示成
x=A*r*(1+r)^n/((1+r)^n-1)

f=inline('150000*r*(1+r)^180/((1+r)^180-1)-1000');
r=fzero(f,0.01)
得到
r =
0.0021

二题:
f1=inline('500000*r*(1+r)^180/((1+r)^180-1)-4500');
r1=fzero(f1,0.01)

f2=inline('500000*r*(1+r)^20/((1+r)^20-1)-45000');
r2=fzero(f2,0.01)

if r1<r2/12
disp('第一家月利率小');
else
disp('第二家月利率小');
end

得到结果:
r1 =
0.0059

r2 =
0.0639

第二家月利率小