数学实验作业七.doc_第1页
数学实验作业七.doc_第2页
数学实验作业七.doc_第3页
数学实验作业七.doc_第4页
数学实验作业七.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学实验作业七题目:P200. 2);6)日期:2003-4-9【实验目的】:1、 掌握MATLAB优化工具箱的基本用法,对不同算法进行初步分析、比较。2、 练习实际问题的非线性最小二乘拟合。【实验内容】:二:求解,初值(1,1),对不同算法的结果进行分析、比较。【模型分析】:首先画出函数f=的图像和等高线:可以看到:在0.5,-1附近为一个“凹地”,最小值应在该凹地中取得。另外,从(-1,1)到此凹地为一与Rosenbrock函数类似的狭长通道,不利于沿负梯度方向下降。可以想象,该函数具有与Rosenbrock函数类似的性质。【MATLAB 源程序】比较程序如下:%数学实验作业二.1-dfunction f=ch72fun(x);%第7章第2题的函数f=exp(x(1).*(4*x(1).2+2*x(2).2+4*x(1).*x(2)+2.*x(2)+1);%ch72.m%第7章第2题X0=-1,1;%赋初值%BFGS,混合二三次插值opt1=optimset(TolX,1e-6,TolFun,1e-6,MaxIter,1000);X1,FVAL,EXITFLAG,OUTPUT=FMINUNC(ch72fun,X0,opt1)%BFGS,三次插值opt2=optimset(opt1,LineSearchType,cubicpoly);X1,FVAL,EXITFLAG,OUTPUT=FMINUNC(ch72fun,X0,opt2)%DFP,混合二三次插值opt3=optimset(opt1,HessUpdate,dfp);X1,FVAL,EXITFLAG,OUTPUT=FMINUNC(ch72fun,X0,opt3)%DFP,三次插值opt4=optimset(opt3,LineSearchType,cubicpoly);X1,FVAL,EXITFLAG,OUTPUT=FMINUNC(ch72fun,X0,opt4)%最速下降,混合二三次插值opt5=optimset(opt1,HessUpdate,steepdesc);X1,FVAL,EXITFLAG,OUTPUT=FMINUNC(ch72fun,X0,opt5)【MATLAB 运行结果】:结果为:搜索方向步长搜索最优解最优值迭代次数BFGSquadcubic(0.50000349867429 -1.00000872058446)1.302793198827844e-0107BFGScubicpoly(0.50000550257798 -1.00000588930458)1.003340139037585e-01022DFPquadcubic(0.50005027832388 -0.99990715185660)7.588817567829805e-0086DFPcubicpoly(0.50000001176327 -1.00000037427431)4.334501663087731e-01312最速下降quadcubic(0.49992419845803 -0.99988138702904)2.498840793355238e-00812所以可以得到本题的解析解:x=(0.5,-1),f=0。【结果分析】:观察上面的运算结果可以看出:BFGS和混合二三次插值(Matlab默认值)的性能是最好的,其精度较高,迭代次数少;DFP和三次插值的精度最高,但是其迭代次数相对较多。DFP和混合二三次插值的迭代次数最少,但是其精度是最低的。另外最速下降法也能得出结果,而不是像Rosenbrock函数那样不收敛。六:中国统计年鉴(1995)给出下表的数据,试据此拟合生产函数中的参数。如何看待用最小二乘法和非线性最小二乘法拟合的结果。年份总产值(万亿元)资金(万亿元)劳动力(亿人)19840.71710.24694.817919850.89640.33864.987319861.02020.38465.128219871.19620.43225.278319881.49280.54955.433419891.69090.60955.532919901.85310.64445.674019912.16180.75175.836019922.66350.96365.943219933.45151.49985.022019944.50061.89446.1470第一问:模型建立:本题考虑用非线性拟合最小二乘拟合方法,来求解生产函数的未知系数。生产函数为 以系数为三个变量,列写函数 再运用leastsq程序,设立初值,即可求出三个系数的数值解。模型求解:用Matlab作非线性最小二乘拟合,编程语句如下:ch7.6-(1)function f=pp1(c)q=0.7171,0.8964,1.0202,1.1962,1.4928,1.6909,1.8531,2.1618,2.6635,3.4515,4.5006;q1=q/q(6); 以1989年总产值为基准k=0.2469,0.3386,0.3846,0.4322,0.5495,0.6095,0.6444,0.7517,0.9636,1.4998,1.8944;k1=k/k(6); 以1989年资金为基准l=4.8179,4.9873,5.1282,5.2783,5.4334,5.5329,5.6740,5.8360,5.9432,6.0220,6.1470;l1=l/l(6); 以1989年为劳动力基准f=q1-c(1).*k1.c(2).*l1.c(3);c0=0.5,0,1;c=leastsq(pp1,c0)运行程序可以得到: c = 0.9858 0.6300 2.4290结论:生产函数为其中0.9858 0.6300 2.4290第二问:模型建立:本题考虑用线性拟合最小二乘拟合方法,来求解生产函数的未知系数。对原式两边取对数,即可将非线性函数变化为线性函数,为变量,为所求系数。解超定方程组:,其中均为列向量。即可得到所求三个系数的值。模型求解:用Matlab作线性最小二乘拟合,编程语句如下:ch7.6-(2)q=0.7171,0.8964,1.0202,1.1962,1.4928,1.6909,1.8531,2.1618,2.6635,3.4515,4.5006;q1=log(q/q(6); 以1989年总产值为基准k=0.2469,0.3386,0.3846,0.4322,0.5495,0.6095,0.6444,0.7517,0.9636,1.4998,1.8944;k1=log(k/k(6); 以1989年资金为基准l=4.8179,4.9873,5.1282,5.2783,5.4334,5.5329,5.6740,5.8360,5.9432,6.0220,6.1470;l1=log(l/l(6); 以1989年为劳动力基准m=1,1,1,1,1,1,1,1,1,1,1;A=m,k1,l1;B=q1;C=AB;c=exp(C(1),C(2),C(3)运行程序可以得到: c = 0.9906 0.6208 2.3728结论:生产函数为其中0.9906 0.6208 2.3728结果分析:本题中,线性拟合和非线性拟合两种计算方法的结果相差不大。但是,在有些情况下,二者的差距将会较大,如书上182

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论