8.5 lsqcurvefit函数(求解非线性数据拟合问题) 函数输出: X:最优点(或者迭代停止点) Resnorm:残差平方和norm(C*x-d)^2 Residual:残差C*x-d向量 Exitflag:算法退出表示 8.5 lsqcurvefit函数(求解非线性数据拟合问题) 函数调用示例: 回归模型:ydata(i)=x(1)e(x(2)xdata(i)) 优化问题:min x12∑mi=1(F(x,xdata(i))-ydata(i))2 编写目标函数M文件lsqcurvefitmyfun.m function f=lsqcurvefitmyfun(x,xdata) F=x(1)*exp(x(2)*xdata) 8.5 lsqcurvefit函数(求解非线性数据拟合问题) 调用lsqcurvefit函数Showlsqcurvefit.m % Assume you determined xdata and ydata experimentally xdata=[0.9 1.5 13.8 19.8 24.1 28.2 35.2 60.3 74.6 81.3]; ydata=[455.2 428.6 124.1 67.3 43.2 28.1 13.1 -0.4 -1.3 -1.5]; x0=[100,-1] ; %初始迭代点 [x,resnorm,residual,exitflag,output,lambda]=lsqcurvefit(@lsqcurvefitmyfun,x0,xdata,ydata) 8.5 lsqcurvefit函数(求解非线性数据拟合问题) 计算结果: Optimization terminated: relative function value changing by less than OPTIONS.TolFun. x=498.8309 -0.1013 resnorm=9.5049 residual= Columns 1 through 9 第8章 非线性最小二乘法 8.1 高斯-牛顿法8.2 lsqnonneg函数(求解非负约束的最小二乘问题)8.3 lsqlin函数(求解带约束的线性最小二乘问题)8.4 lsqnonlin函数(求解非线性最小二乘问题)8.5 lsqcurvefit函数(求解非线性数据拟合问题) 8.1 高斯-牛顿法 对于非线性最小二乘问题: min f(x)=12∑mi=1[ri(x)]2 根据上两章关于非线性最优化的介绍,我们知道目标函数的一阶函数与二阶导数矩阵对优化的整个迭代过程起着至关重要的作用。 (1)高斯-牛顿法的收敛与否直接取决于hessian阵的缺省部分S(x)的大小,如果S(x)大于M(x),则高斯-牛顿法一般不收敛。(2)如果M(x)正定,则高斯-牛顿法局部收敛。(3)如果算法收敛,则收敛速度基本取决于S(x)的大小。 8.1 高斯-牛顿法 8.2 lsqnonneg函数(求解非负约束的最小二乘问题) lsqnonneg函数的计算模型为: min x12Cx-d22 s.t. x≥0 lsqnonneg函数使用的算法为非线性最优化的单纯形法(Nelder-Mead Simplex)。 函数语法: x=lsqnonneg(C,d) x=lsqnonneg(C,d,x0) x=lsqnonneg(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:最优点(或者迭代停止点) 8.2 lsqnonneg函数(求解非负约束的最小二乘问题) 函数示例: 非负线性回归模型不含常数项示例,M文件Showlsqnonneg.m C=[ 0.0372 0.2869 0.6861 0.7071 0.6233 0.6245 0.6344 0.6170]; 8.2 lsqnonneg函数(求解非负约束的最小二乘问题) d=[ 0.8587 0.1781 0.0747 0.8405]; [x,resnorm,residual,exitflag,output,lambda]=lsqnonneg(C
运筹学与最优化matlab编程,运筹学与最优化MATLAB编程 教学课件 ppt 作者 吴祈宗 郑志勇 第8章.ppt...
最新推荐文章于 2024-09-20 21:30:04 发布