MATLAB实验二

  • 格式:doc
  • 大小:67.00 KB
  • 文档页数:6
h=
1 所以其解为 x=0.1342,y=0.9972,z=-0.0985,这三个方程的误差为 0.7690 10 8 ,
-0.0418 10 8 和-0.1054 10 8 ,且 h=1>0,这说明结果是可靠的
改进程序或思考: 此题也可以用更便捷的 inline 函数或匿名函数方式求解
>> [x, f, h]=fsolve(fun,[0,0,0]) Optimization terminated: first-order optimality is less than options.TolFun.
x=
0.1342 0.9972 -0.0985
f=
1.0e-008 *
0.7690 -0.0418 -0.1054
程序(或命令): % M 函数 eg4_4fun.m function f=fun(x) f(1)=9*x(1)^2+36*x(2)^2+4*x(3)^2-36; f(2)=x(1)^2-2*x(2)^2-20*x(3); f(3)=16*x(1)-x(1)^3-2*x(2)^2-16*x(3)^2;
>> [x ,f, h]=fsolve(@eg4_4fun ,[0,0,0]) Optimization terminated: first-order optimality is less than options. TolFun. x=
0.1342 0.9972 -0.0985
f=
1.0e-008 *
>> [x,f,h]=fsolve(@fun ,[0,0,0])得 Optimization terminated: first-order optimality is less than options.TolFun.
x=
0.1342 0.9972 -0.0985
f=
1.0e-008 *
0.7690 -0.0418 -0.1054
>> [x,f,h]=fsolve(fun,[0,0,0]) Optimization terminated: first-order optimality is less than options.TolFun.
x=
0.1342 0.9972 -0.0985
f=
1.0e-008 *
0.7690 -0.0418 -0.1054
h=
1
题目:作为房产公司的代理人,你要迅速准确的回答客户方面的问题。现在有 个客户看中了你公司一套建筑面积为 180 平方米,每平方米单价为 7500 元的房子。他计划首付 30%,其余 70%用 20 年按揭贷款(贷款年利率 5.04%)。请你提供下列信息:房屋总价格、首付款额、月付款额。如果 其中 10 万元为公积金贷款(贷款年利率 4.05%)呢?
可得 a=(1+r)^N*r*x0/((1+r)^N-1)=6257.5 元 (2) 首付 30%,10 万元为公积金贷款, 其余按揭贷款 由月付还款额公式
a= (1 r) N rx0 及 r=5.04/12/100,N=20*12=240; (1 r) N 1
r1=4.05/12/100=0.0034;x1=10*10000=100000 a1=(1+r1)^N*r1*x1/((1+r1)^N-1)= 608.6182 a2=(1+r)^N*r*x2/((1+r)^N-1)= 5595.3 a=a1+a2=6203.9 元
理论推导或编程说明:
设贷款总额为 x0 ,贷款期限为 N 个月,采取逐月等额方式偿还本息。若 xk 为
第 k 个月的欠款数,a 为月还款数,r 为月利率。我们得到下列迭代关系式
xk1 (1 r)xk a,
(4.10)
那么, xk (1 r)xk 1 a,
(1 r)2 xk2 (1 r)a a ...
(1)用 inline 函数方式求解 >>fun=inline('[9*x(1)^2+36*x(2)^2+4*x(3)^2-36,x(1)^2-2*x(2)^2-20*x(3),16*x(1 )-x(1)^3-2*x(2)^2-16*x(3)^2]','x') fun =
Inline function: fun(x)=[9*x(1)^2+36*x(2)^2+4*x(3)^2-36,x(1)^2-2*x(2)^2-20*x(3),16*x(1)-x(1)^ 3-2*x(2)^2-16*x(3)^2]
(1 r)k x0 a[1 (1 r) ... (1 r)k1 ]
(1 r)k x0 a[(1 r)k 1] / r,
由此可以得到月还款公式
a (1 r) N rx0 (1 r) N 1
(4.11)
程序(或命令): >> r=5.04/12/100 r=
对实验题目的解答: 由题目知: 房屋总价格为 x=7500*180=1350000, 首付房款额为 y=x*0.3=1350000*0.3=405000, 则其贷款总额为 x-y=1350000-405000=945000, (1) 首付 30%,其余 70%用 20 年按揭贷款 由月付还款额公式
a= (1 r) N rx0 及 r=5.04/12/100=0.0042,N=20*12=240 (1 r) N 1
实验具体过程:
题目:求解下列非线性方程组在原点附近的根
9x 2 36 y2 4z 2 36

x 2 2y2 20z 0
16x x 2 2y2 16z 2 0
理论推导或编程说明: [x, f, h]=fsolve(Fun, x0) x 返回一元或多元函数 Fun 在 x0 附近的一个零点, 其中 x0 为迭代初值;f 返回 Fun 在 x 的函数值,应接近 0;h 返回值如果大于 0, 说明计算结果可靠,否则计算结果不可靠。
实验名称:函数与方程
姓名:
ቤተ መጻሕፍቲ ባይዱ
学号:105012009
实验日期:2011 年 03 月 29 日
实验目的:
(1)学会 MATLAB 有关非线性方程(组)求解、函数极值和曲线拟合的指令。
(2)了解迭代法的基本原理和非线性拟合问题的线性化处理方法。
(3)学会利用 Mathematic 软件解决与购房贷款有关的建模实验。
h=
1
(2)用匿名函数方式求解 >>fun=@(x)[9*x(1)^2+36*x(2)^2+4*x(3)^2-36,x(1)^2-2*x(2)^2-20*x(3),16*x(1)x(1)^3-2*x(2)^2-16*x(3)^2]
fun =
@(x)[9*x(1)^2+36*x(2)^2+4*x(3)^2-36,x(1)^2-2*x(2)^2-20*x(3),16*x(1)-x(1)^3-2 *x(2)^2-16*x(3)^2]
0.0042 >> N=20*12
N=
240 >>x=7500*180 x=
1350000
>>y=x*0.3 y=
405000
>>x0=x-y x0=
945000
>>a=(1+r)^N*r*x0/((1+r)^N-1) a=
6.2575e+003
>>r1=4.05/12/100 r1 =
0.0034
0.7690 -0.0418 -0.1054
h=
1
对实验题目的解答: 用函数句柄方式,先写一个 M 函数 % M 函数 eg4_4fun.m function f=fun(x) f(1)=9*x(1)^2+36*x(2)^2+4*x(3)^2-36; f(2)=x(1)^2-2*x(2)^2-20*x(3); f(3)=16*x(1)-x(1)^3-2*x(2)^2-16*x(3)^2; 这里 x,y,z 合写成向量变量 x,x(1)表示 x,x(2)表示变量 y,x(3)表 示向量 z. 取跌代初值 x=0,y=0,z=0,在指令窗口用
>>x1=10*10000 x1=
100000
>>a1=(1+r1)^N*r1*x1/((1+r1)^N-1) a1 =
608.6182
>>x2=x0-x1 x2 =
845000
>>a2=(1+r)^N*r*x2/((1+r)^N-1) a2 =
5.5953e+003
>>a=a1+a2 a=
6.2039e+003
实验总结: (1)在做第一题的时候,由于没有意识到要先写一个 M 函数和不知道要在哪里
些 M 函数,导致在实验过程中花费了大量的时间。后来,在同学的指导下, 终于学会了该如何建一个 M 函数。 (2)要做好第二道题,首先要学会推导出月还款计算公式。只要知道月还款计 算公式,就可以利用中学知识很快的算出房屋总价格、首付款额、月付款 额。 (3)在实验过程发现自己的知识掌握的还不是很好。究其原因有两个:一是课 堂上的听课效果不好,容易开小差;二是课后没有花时间去看书和进行实 际操作。 (4)在实验中,对 MATLAB 有了进一步的了解,发现其功能是十分强大的。
实验项目:
(1)求非线性方程组在原点附近的根。
(2)求购房贷款中的房屋总价格、首付款额、月付款额。
实验背景:
(1)在科学研究和工程设计中常常会遇到求解非线性方程组的问题。因此,如
何快速求解非线性方程组是十分重要的。