matlab:最小二乘法线性和非线性拟合ppt课件.ppt
《matlab:最小二乘法线性和非线性拟合ppt课件.ppt》由会员分享,可在线阅读,更多相关《matlab:最小二乘法线性和非线性拟合ppt课件.ppt(53页珍藏版)》请在三一办公上搜索。
1、1,数学建模与数学实验,拟 合,2,实验目的,实验内容,2、掌握用数学软件求解拟合问题。,1、直观了解拟合基本内容。,1、拟合问题引例及基本理论。,4、实验作业。,2、用数学软件求解拟合问题。,3、应用实例,3,拟 合,2.拟合的基本原理,1. 拟合问题引例,4,拟 合 问 题 引 例 1,求600C时的电阻R。,设 R=at+ba,b为待定系数,5,拟 合 问 题 引 例 2,求血药浓度随时间的变化规律c(t).,作半对数坐标系(semilogy)下的图形,MATLAB(aa1),6,曲 线 拟 合 问 题 的 提 法,已知一组(二维)数据,即平面上 n个点(xi,yi) i=1,n, 寻求
2、一个函数(曲线)y=f(x), 使 f(x) 在某种准则下与所有数据点最为接近,即曲线拟合得最好。,y=f(x),i 为点(xi,yi) 与曲线 y=f(x) 的距离,7,拟合与插值的关系,函数插值与曲线拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的。,实例:下面数据是某次实验所得,希望得到X和 f之间的关系?,MATLAB(cn),问题:给定一批数据点,需确定满足特定要求的曲线或曲面,解决方案:,若不要求曲线(面)通过所有数据点,而是要求它反映对象整体的变化趋势,这就是数据拟合,又称曲线拟合或曲面拟合。,若要求所求曲线(面)通过所给所有数据点,就
3、是插值问题;,8,最临近插值、线性插值、样条插值与曲线拟合结果:,9,曲线拟合问题最常用的解法线性最小二乘法的基本思路,第一步:先选定一组函数 r1(x), r2(x), rm(x), mn, 令 f(x)=a1r1(x)+a2r2(x)+ +amrm(x) (1)其中 a1,a2, am 为待定系数。,第二步: 确定a1,a2, am 的准则(最小二乘准则):使n个点(xi,yi) 与曲线 y=f(x) 的距离i 的平方和最小 。,记,问题归结为,求 a1,a2, am 使 J(a1,a2, am) 最小。,10,线性最小二乘法的求解:预备知识,超定方程组:方程个数大于未知量个数的方程组,超
4、定方程一般是不存在解的矛盾方程组。,如果有向量a使得 达到最小,则称a为上述超定方程的最小二乘解。,11,线性最小二乘法的求解,定理:当RTR可逆时,超定方程组(3)存在最小二乘解,且即为方程组 RTRa=RTy的解:a=(RTR)-1RTy,所以,曲线拟合的最小二乘法要解决的问题,实际上就是求以下超定方程组的最小二乘解的问题。,12,线性最小二乘拟合 f(x)=a1r1(x)+ +amrm(x)中函数r1(x), rm(x)的选取,1. 通过机理分析建立数学模型来确定 f(x);,2. 将数据 (xi,yi) i=1, n 作图,通过直观判断确定 f(x):,13,用MATLAB解拟合问题,
5、1、线性最小二乘拟合,2、非线性最小二乘拟合,14,用MATLAB作线性最小二乘拟合,1. 作多项式f(x)=a1xm+ +amx+am+1拟合,可利用已有程序:,a=polyfit(x,y,m),2. 对超定方程组,3.多项式在x处的值y可用以下命令计算: y=polyval(a,x),15,例 对下面一组数据作二次多项式拟合,16,1)输入以下命令:x=0:0.1:1; y=-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2; R=(x.2) x ones(11,1); A=Ry,MATLAB(zxec1),解法1用解超定方程
6、的方法,2)计算结果: = -9.8108 20.1293 -0.0317,17,1)输入以下命令: x=0:0.1:1; y=-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2; A=polyfit(x,y,2) z=polyval(A,x); plot(x,y,k+,x,z,r) %作出数据点和拟合曲线的图形,2)计算结果: = -9.8108 20.1293 -0.0317,解法2用多项式拟合的命令,MATLAB(zxec2),18,1. lsqcurvefit已知数据点: xdata=(xdata1,xdata2,xdat
7、an), ydata=(ydata1,ydata2,ydatan),用MATLAB作非线性最小二乘拟合,Matlab的提供了两个求非线性最小二乘拟合的函数:lsqcurvefit和lsqnonlin。两个命令都要先建立M-文件fun.m,在其中定义函数f(x),但两者定义f(x)的方式是不同的,可参考例题.,lsqcurvefit用以求含参量x(向量)的向量值函数F(x,xdata)=(F(x,xdata1),F(x,xdatan)T中的参变量x(向量),使得,19,输入格式为: (1) x = lsqcurvefit (fun,x0,xdata,ydata); (2) x =lsqcurve
8、fit (fun,x0,xdata,ydata,options); (3) x = lsqcurvefit (fun,x0,xdata,ydata,options,grad); (4) x, options = lsqcurvefit (fun,x0,xdata,ydata,); (5) x, options,funval = lsqcurvefit (fun,x0,xdata,ydata,); (6) x, options,funval, Jacob = lsqcurvefit (fun,x0,xdata,ydata,);,说明:x = lsqcurvefit (fun,x0,xdata,y
9、data,options);,20,lsqnonlin用以求含参量x(向量)的向量值函数 f(x)=(f1(x),f2(x),fn(x)T 中的参量x,使得 最小。 其中 fi(x)=f(x,xdatai,ydatai) =F(x,xdatai)-ydatai,2. lsqnonlin,已知数据点: xdata=(xdata1,xdata2,xdatan) ydata=(ydata1,ydata2,ydatan),21,输入格式为: 1) x=lsqnonlin(fun,x0); 2) x= lsqnonlin (fun,x0,options); 3) x= lsqnonlin (fun,x0
10、,options,grad); 4) x,options= lsqnonlin (fun,x0,); 5) x,options,funval= lsqnonlin (funx0,);,说明:x= lsqnonlin (fun,x0,options);,22,例2 用下面一组数据拟合 中的参数a,b,k,该问题即解最优化问题:,23,MATLAB(fzxec1),1)编写M-文件 curvefun1.m function f=curvefun1(x,tdata) f=x(1)+x(2)*exp(-0.02*x(3)*tdata) %其中 x(1)=a; x(2)=b;x(3)=k;,2)输入命令
11、tdata=100:100:1000cdata=1e-03*4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59; x0=0.2,0.05,0.05; x=lsqcurvefit (curvefun1,x0,tdata,cdata) f= curvefun1(x,tdata),F(x,tdata)= ,x=(a,b,k),解法1. 用命令lsqcurvefit,24,3)运算结果为:f =0.0043 0.0051 0.0056 0.0059 0.0061 0.0062 0.0062 0.0063 0.0063 0.0063 x = 0.0063
12、-0.0034 0.2542,4)结论:a=0.0063, b=-0.0034, k=0.2542,25,MATLAB(fzxec2),解法 2 用命令lsqnonlin f(x)=F(x,tdata,ctada)= x=(a,b,k),1)编写M-文件 curvefun2.m function f=curvefun2(x) tdata=100:100:1000; cdata=1e-03*4.54,4.99,5.35,5.65,5.90, 6.10,6.26,6.39,6.50,6.59; f=x(1)+x(2)*exp(-0.02*x(3)*tdata)- cdata,2)输入命令: x0=
13、0.2,0.05,0.05;x=lsqnonlin(curvefun2,x0)f= curvefun2(x),函数curvefun2的自变量是x,cdata和tdata是已知参数,故应将cdata tdata的值写在curvefun2.m中,26,3)运算结果为 f =1.0e-003 *(0.2322 -0.1243 -0.2495 -0.2413 -0.1668 -0.0724 0.0241 0.1159 0.2030 0.2792 x =0.0063 -0.0034 0.2542,可以看出,两个命令的计算结果是相同的.,4)结论:即拟合得a=0.0063 b=-0.0034 k=0.25
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 最小二乘法 线性 非线性 拟合 ppt 课件
链接地址:https://www.31ppt.com/p-1377717.html