Matlab最小二乘法曲线拟合.doc
《Matlab最小二乘法曲线拟合.doc》由会员分享,可在线阅读,更多相关《Matlab最小二乘法曲线拟合.doc(6页珍藏版)》请在三一文库上搜索。
1、.最小二乘法在曲线拟合中比较普遍。拟合的模型主要有1.直线型2.多项式型3.分数函数型4.指数函数型5.对数线性型6.高斯函数型.一般对于LS问题,通常利用反斜杠运算“”、fminsearch或优化工具箱提供的极小化函数求解。在Matlab中,曲线拟合工具箱也提供了曲线拟合的图形界面操作。在命令提示符后键入:cftool,即可根据数据,选择适当的拟合模型。“”命令1.假设要拟合的多项式是:y=a+b*x+c*x2.首先建立设计矩阵X:X=ones(size(x) x x2;执行:para=Xypara中包含了三个参数:para(1)=a;para(2)=b;para(3)=c;这种方法对于系数
2、是线性的模型也适应。2.假设要拟合:y=a+b*exp(x)+cx*exp(x2)设计矩阵X为X=ones(size(x) exp(x) x.*exp(x.2);para=Xy3.多重回归(乘积回归)设要拟合:y=a+b*x+c*t,其中x和t是预测变量,y是响应变量。设计矩阵为X=ones(size(x) x t %注意x,t大小相等!para=Xypolyfit函数polyfit函数不需要输入设计矩阵,在参数估计中,polyfit会根据输入的数据生成设计矩阵。1.假设要拟合的多项式是:y=a+b*x+c*x2p=polyfit(x,y,2)然后可以使用polyval在t处预测:y_hat=
3、polyval(p,t)polyfit函数可以给出置信区间。p S=polyfit(x,y,2) %S中包含了标准差y_fit,delta = polyval(p,t,S) %按照拟合模型在t处预测在每个t处的95%CI为:(y_fit-1.96*delta, y_fit+1.96*delta)2.指数模型也适应假设要拟合:y = a+b*exp(x)+c*exp(x.?2)p=polyfit(x,log(y),2)fminsearch函数fminsearch是优化工具箱的极小化函数。LS问题的基本思想就是残差的平方和(一种范数,由此,LS产生了许多应用)最小,因此可以利用fminsearch
4、函数进行曲线拟合。假设要拟合:y = a+b*exp(x)+c*exp(x.?2)首先建立函数,可以通过m文件或函数句柄建立:x=.;y=.;f=(p,x) p(1)+p(2)*exp(x)+p(3)*exp(x.?2) %注意向量化:p(1)=a;p(2)=b;p(3)=c;%可以根据需要选择是否优化参数%opt=options()p0=ones(3,1);%初值para=fminsearch(p) (y-f(p,x).2,p0) %可以输出Hessian矩阵res=y-f(para,x)%拟合残差精品.曲线拟合工具箱提供了很多拟合函数,对大样本场合比较有效!非线性拟合nlinfit函数cl
5、ear all;x1=0.4292 0.4269 0.381 0.4015 0.4117 0.3017;x2=0.00014 0.00059 0.0126 0.0061 0.00425 0.0443;x=x1 x2;y=0.517 0.509 0.44 0.466 0.479 0.309;f=(p,x) 2.350176*p(1)*(1-1/p(2)*(1-(1-x(:,1).(1/p(2).p(2).2.*(x(:,1).(-1/p(2)-1).(-p(2).*x(:,1).(-1/p(2)-0.5).*x(:,2);p0=8 0.5;opt=optimset(TolFun,1e-3,Tol
6、X,1e-3);%p R=nlinfit(x,y,f,p0,opt) 例子例子例子例子例子例子例子例子例子例子例子例子例子例子例子例子直线型例子2.多项式型的一个例子1900-2000年的总人口情况的曲线拟合clear all;close all;%cftool提供了可视化的曲线拟合!t=1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000;y=75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505 249.633 281.4220;%t太大,以t的幂作为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 最小二乘法 曲线拟合
链接地址:https://www.31doc.com/p-6288352.html