实验二:购房贷款问题
(1)问题重述:
初始贷款额为30万,借款期限不超过30年,对于不同的贷款期限,贷款利率有所不同。商业贷款和公积金年利率见下表(一年期为到期一次还本付息)
根据上述贷款信息,制定一个完整的个人购房贷款本息月均还款额表,表中应包括借款年限,各自的月利率、月均还款额、总还款额和利息负担总额,还有采用商业贷款和采用公积金贷款的利息差价。
(2)问题分析:
根据题意,在不同的时间阶段有不同的年利率,所以在不同的时间段要按不同的年利率来计算。
(3)算法设计:
用switch 语句编程M文件daikun.m,再分别用year_num_1.m、year_num_2.m、year_num_3.m、year_num_4.m四个函数调用,根据不同时间来计算出该时间的所有要求量。
(4)程序:
% daikun.m
clc;
clear;
disp('贷款年数'),
year_num=input('enter the number:')
x=year_num;
switch year_num
case 1
case 2
year_num_1(2); case 3
year_num_1(3); case 4
year_num_1(4); case 5
year_num_1(5); case 6
year_num_2(6); case 7
year_num_2(7); case 8
year_num_2(8); case 9
year_num_2(9); case 10
year_num_2(10); case 11
year_num_3(11); case 12
year_num_3(12); case 13
year_num_3(13); case 14
year_num_3(14); case 15
year_num_3(15); case 16
case 17
year_num_3(17); case 18
year_num_3(18); case 19
year_num_3(19); case 20
year_num_3(20); case 21
year_num_4(21); case 22
year_num_4(22); case 23
year_num_4(23); case 24
year_num_4(24); case 25
year_num_4(25); case 26
year_num_4(26); case 27
year_num_4(27); case 28
year_num_4(28); case 29
year_num_4(29); case 30
year_num_4(30); otherwise
disp('you enter the number is not between 1 and 30'); end
%year_num_1.m
function y=year_num_1(x)
disp('商业贷款方案1'),
disp('月利率'),
p1_1=0.0506/12
disp('月均还贷额'),
p1_2=(30+30*0.0506*x)/(12*x)
disp('总还贷额'),
p1_3=30+30*0.0506*x
disp('利息负担总额'),
p1_4=30*0.0506*x
disp('公积金贷款方案2'),
disp('月利率'),
p2_1=0.0372/12
disp('月均还贷额'),
p2_2=(30+30*0.0372*x)/(12*x)
disp('总还贷额'),
p2_3=30+30*0.0372*x
disp('利息负担总额'),
p2_4=30*0.0372*x
disp('商业贷款与公积金贷款的利息差价'),
p1=p1_4-p2_4
end
%year_num_2.m
function y=year_num_2(x)
disp('商业贷款方案1'),
disp('月利率'),
p1_1=(0.0506*5+0.0547*(x-5))/(12*x)
disp('月均还贷额'),
p1_2=(30+30*0.0506*5+30*0.0547*(x-5))/(12*x)
disp('总还贷额'),
p1_3=30+30*0.0506*5+30*0.0547*(x-5)
disp('利息负担总额'),
p1_4=30*0.0506*5+30*0.0547*(x-5)
disp('公积金贷款方案2'),
disp('月利率'),
p2_1=(0.0372*5+0.0412*(x-5))/(5*12+12*(x-5))
disp('月均还贷额'),
p2_2=(30+30*0.0372*5+30*0.0412*(x-5))/(12*x)
disp('总还贷额'),
p2_3=30+30*0.0372*5+30*0.0412*(x-5)
disp('利息负担总额'),
p2_4=30*0.0372*5+30*0.0412*(x-5)
disp('商业贷款与公积金贷款的利息差价'),
p1=p1_4-p2_4
end
%year_num_3.m
function y=year_num_3(x)
disp('商业贷款方案1'),
disp('月利率'),
p1_1=(0.0506*5+0.0547*5+0.0569*(x-10))/(12*x)
disp('月均还贷额'),
p1_2=(30+30*0.0506*5+30*0.0547*5+30*0.0569*(x-10))/(12*x)
disp('总还贷额'),
p1_3=(30+30*0.0506*5+30*0.0547*5+30*0.0569*(x-10))
disp('利息负担总额'),
p1_4=30*0.0506*5+30*0.0547*5+30*0.0569*(x-10)
disp('公积金贷款方案2'),
disp('月利率'),
p2_1=(0.0372*5+0.0412*5+0.0444*(x-10))/(12*x)
disp('月均还贷额'),
p2_2=(30+30*0.0372*5+30*0.0412*5+30*0.0444*(x-10))/(12*x)
disp('总还贷额'),
p2_3=(30+30*0.0372*5+30*0.0412*5+30*0.0444*(x-10))
disp('利息负担总额'),
p2_4=30*0.0372*5+30*0.0412*5+30*0.0444*(x-10)
disp('商业贷款与公积金贷款的利息差价'),
p1=p1_4-p2_4
end
%year_num_4.m
function y=year_num_4(x)
disp('商业贷款方案1'),
disp('月利率'),
p1_1=(0.0506*5+0.0547*5+0.0569*10+0.0592*(x-20))/(12*x)
disp('月均还贷额'),
p1_2=(30+30*0.0506*5+30*0.0547*5+30*0.0569*10+30*0.0592*(x-20))/(12*x) disp('总还贷额'),
p1_3=30+30*0.0506*5+30*0.0547*5+30*0.0569*10+30*0.0592*(x-20)
disp('利息负担总额'),
p1_4=30*0.0506*5+30*0.0547*5+30*0.0569*10+30*0.0592*(x-20)
disp('公积金贷款方案2'),
disp('月利率'),
p2_1=(0.0372*5+0.0412*5+0.0444*10+0.0477*(x-20))/(12*x)
disp('月均还贷额'),
p2_2=(30+30*0.0372*5+30*0.0412*5+30*0.0444*10+30*0.0477*(x-20))/(12*x)
disp('总还贷额'),
p2_3=30+30*0.0372*5+30*0.0412*5+30*0.0444*10+30*0.0477*(x-20)
disp('利息负担总额'),
p2_4=30*0.0372*5+30*0.0412*5+30*0.0444*10+30*0.0477*(x-20)
disp('商业贷款与公积金贷款的利息差价'),
p1=p1_4-p2_4
end
(5)计算结果:
(A表示选择方案、B表示月利率、C表示月均还贷额、D表示总还贷额、K 表示利息总负担、J表示利息差价、Y表示贷款年数)
(6)结果分析:
根据题目给出的数据,利用本金和利息的计算公式,计算得出上面的各项数据经过四舍五入保留了小数位数的四位,结果已经是比较准确的了。
(7)结论:
随着贷款时间越长,虽然商业贷款和公积金贷款的月利率和总的还贷额增大了,但是月均还贷额却减小了,这样就减小了人们每月的经济负担。还有随着贷款时间越长,商业贷款和公积金贷款的利息差价越大,所以较商业贷款,公积金贷款更加经济实惠。