资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,建模实验,:,购房贷款的利率和最佳订货量,不难算出,你向银行总共借了,25.2,万,,30,年内共要还,51.696,万,,这个案例中贷款年利率是多少呢?,新民晚报,2000,年,3,月,30,日上的一则房产广告:,设,x,k,为第,k,个月的欠款数,,a,为月还款数,r,为月利率,模型假设,x,k,=(1+r)x,k-1,-,a,=(1+r),2,x,k-2,(1+r)a,a=,=(1+r),k,x,0,a1+(1+r)+(1+r),k-1,=(1+r),k,x,0,a(1+r),k,-1/r,那么,模型建立,x,k,=(1+r)x,k-1,-,a,则有,基本原理:还款总额,=,本金,+,利息,本月的欠款额与前一月的欠款额、利息、还款额有关,年利率,=,月利率,12,根据,a=0.1436,x,0,=25.2,x,360,=0,得到,25.2(1+r),360,0.1436(1+r),360,-1/r=0,模型求解,常识上,,r,应比当时活期存款月利率略高一些。我们用活期存款月利率,0.0198/12,作为迭代初值,用,fzero,求解,clear;,fun=inline(25.2*(1+r)360-(1+r)360-1)/r*0.1436,r),r=fzero(fun,0.0198/12);,R=12*r,得年利率为,5.53%,一、,预备知识:零点、极值和最小二乘法,一元非线性方程的一般形式为,f(x)=0,若对于数,有,f(,)=0,则称,为方程的,解或根,也称为函数,f(x),的,零点,若,f(,)=0,f,(,),0,则,称为,单根,。,若有,k 1,f(,)=f,(,)=f,(k-1),(,)=0,但,f,(k),(,),0,称为,k,重根,非线性方程(组)求解通常用,数值方法,零点,求近似解,常见的有,二分法、牛顿法,等,如果对于包含,x=a,的某个邻域,有,f,(,a,),f,(,x,)(,f,(,a,),f,(,x,),对任意,x,成立,则称,a,为,f,(,x,),的一个,局部极小,(,大,),值点,。,如果对任意,x,D,,有,f,(,a,),f,(,x,),(,f,(,a,),f,(,x,),),成立,则称,a,为,f(x),在区域,D,上的一个,全局极小,(,大,),值点,。,极值,最小二乘法,假设已知经验公式,y,=,f,(,c,x,)(,c,和,x,均可为向量,),要求根据一批有误差的数据,(,x,i,y,i,),i,=0,1,n,确定参数,c,.,这样的问题称为数据拟合。,最小二乘法就是求,c,使得均方误差,Q,(,c,)=,达到最小,当,f,关于,c,是线性函数,问题转化为一个线性方程组求解,且其解存在唯一。,如果,f,关于,c,是非线性函数,问题转化为一个函数极值问题,1,多项式,y=,polyval(p,x,),求得多项式,p,在,x,处的值,y,x,可以是一个或多个点,p3=conv(p1,p2),返回多项式,p1,和,p2,的乘积,p3,r=deconv(p1,p2)p3,返回多项式,p1,除以,p2,的商,,r,返回余项,x=,roots(p,),求得多项式,p,的所有复根,.,p=,polyfit(x,y,k,),用,k,次,多项式拟合,向量 数据,(x,y),返回多项,式的,降幂系数,二、函数零点、极值和拟合的,MATLAB,命令,MATLAB,中一个多项式用系数降幂排列向量来表示,例,2.,用,2,次多项式拟合下列数据,.,x,0.1 0.2 0.15 0 -0.2 0.3,y,0.95 0.84 0.86 1.06 1.50 0.72,例,1.,求多项式,x,3,+2 x,2,-5,的根,x=0.1 0.2 0.15 0-0.2 0.3;,y=0.95 0.84 0.86 1.06 1.50 0.72;,p=polyfit(x,y,2),p=,1.7432 -1.6959 1.0850,roots(1 2-5),2.,定义非线性函数,fun=,inline(funstr,var,),定义一个,Inline,函数,其中,funstr,是函数的表达式,var,是变量名,例、,f=inline(x.2-3);%,建立一元函数,默认,x,为自变量,;,u=inline(x.y-3,x,y,);%,建立二元函数,,x,为第一自变量,,y,为第二自变量,;,fun=,Mfun,定义一个函数句柄,这里,Mfun,是函数的,M,文件表达方式,function s=,f(m,),s=0;,for n=1:m,s=s+1/n/n;,end,例,保存为函数文件,a1018.m,s=a1018;,feval(s,1000,),x0,为向量,a,b,时,返回在,a,b,中的零点,3.,函数零点,x=,fzero(Fun,x0),返回一元函数,Fun,的一 个零点,其中,Fun,为函数句柄、内嵌函数或字符串表达方式。,x0,为标量时,返回函数在,x0,附近的零点;,x,f,h=,fsolve(Fun,x0)x,返回一元或多元函数,Fun,在,x0,附近的一个零点,其中,x0,为迭代初值,;,f,返回,Fun,在,x,的函数值,应该接近,0;,h,返回值如果大于,0,,说明计算结果可靠,,否则计算结果不可靠。,例,3,求函数,y=xsin(x,2,-x-1),在,(-2,-0.1),内的 零点,解,(,解法一),首先定义函数:,f=inline(x*sin(x2-x-1),x),f=,Inline function:,f(x)=x*sin(x2-x-1),fzero(f,-2,-0.1),?Error using=,fzero,The function values at the interval endpoints must differ in sign.,注:出现问题,
展开阅读全文