资源描述:
《运筹学与最优化MATLAB编程 教学课件 作者 吴祈宗 郑志勇 第8章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章 非线性最小二乘法8.1 高斯-牛顿法8.2 lsqnonneg函数(求解非负约束的最小二乘问题)8.3 lsqlin函数(求解带约束的线性最小二乘问题)8.4 lsqnonlin函数(求解非线性最小二乘问题)8.5 lsqcurvefit函数(求解非线性数据拟合问题)8.1 高斯-牛顿法对于非线性最小二乘问题:minf(x)=12∑mi=1[ri(x)]2根据上两章关于非线性最优化的介绍,我们知道目标函数的一阶函数与二阶导数矩阵对优化的整个迭代过程起着至关重要的作用。(1)高斯-牛顿法的收敛与否直接取决于hessian阵
2、的缺省部分S(x)的大小,如果S(x)大于M(x),则高斯-牛顿法一般不收敛。(2)如果M(x)正定,则高斯-牛顿法局部收敛。(3)如果算法收敛,则收敛速度基本取决于S(x)的大小。8.1 高斯-牛顿法8.2 lsqnonneg函数(求解非负约束的最小二乘问题)lsqnonneg函数的计算模型为:minx12Cx-d22s.t.x≥0lsqnonneg函数使用的算法为非线性最优化的单纯形法(Nelder-MeadSimplex)。函数语法:x=lsqnonneg(C,d)x=lsqnonneg(C,d,x0)x=lsqnonne
3、g(C,d,x0,options)[x,resnorm]=lsqnonneg(…)[x,resnorm,residual]=lsqnonneg(…)[x,resnorm,residual,exitflag]=lsqnonneg(…)[x,resnorm,residual,exitflag,output=lsqnonneg(…)8.2 lsqnonneg函数(求解非负约束的最小二乘问题)函数输入:C,d:拟合的样本数据;C的每一行代表一组观察数据,C的行数要大于等于C的列数x0:初始迭代点options:函数参数设置函数输出:X:
4、最优点(或者迭代停止点)8.2 lsqnonneg函数(求解非负约束的最小二乘问题)函数示例:非负线性回归模型不含常数项示例,M文件Showlsqnonneg.mC=[0.03720.28690.68610.70710.62330.62450.63440.6170];8.2 lsqnonneg函数(求解非负约束的最小二乘问题)d=[0.85870.17810.07470.8405];[x,resnorm,residual,exitflag,output,lambda]=lsqnonneg(C,d)8.2 lsqnonneg函数(
5、求解非负约束的最小二乘问题)计算结果:x=00.6929residual=0.6599-0.3119-0.35800.41308.2 lsqnonneg函数(求解非负约束的最小二乘问题)8.3 lsqlin函数(求解带约束的线性最小二乘问题)lsqlin函数的计算模型为:minx12Cx-d22s.t.Ax≤bAeqx=beqlb≤x≤ublsqlin函数使用的算法为信赖域算法。函数语法:x=lsqlin(C,d,A,b)x=lsqlin(C,d,A,b,Aeq,beq)x=lsqlin(C,d,A,b,Aeq,beq,lb,u
6、b)x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0)x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options)8.3 lsqlin函数(求解带约束的线性最小二乘问题)函数输入:C,d:拟合的样本数据;C的每一行代表一组观察数据,C的行数要大于等于C的列数A:线性不等式约束系数矩阵B:线性不等式约束常向量Aeq:线性等式约束系数矩阵Beq:线性等式约束常向量8.3 lsqlin函数(求解带约束的线性最小二乘问题)函数输出:X:最优点(或者迭代停止点)Resnorm:残差平方和norm(
7、C*x-d)^2Residual:残差C*x-d向量Exitflag:算法退出表示8.3 lsqlin函数(求解带约束的线性最小二乘问题)8.3.1 函数示例(1)minxf(x)=∑mi=1[(x1ci,1+…+xmcm,1)-di]2s.t.0.20270.27210.74670.46590.19870.19880.44500.41860.60370.01520.93180.88462x≤0.52510.20260.6721(-0.1,-0.1,-0.1,-0.1)T≤x≤(2,2,2,2)T线性回归模型不含常数项示例,M文
8、件ShowLsqlin1.m%数据矩阵CC=[0.95010.76200.61530.40570.23110.45640.79190.93540.60680.01850.92180.91690.48590.82140.73820.41020.89120.4447