《数学实验2课件.ppt》由会员分享,可在线阅读,更多相关《数学实验2课件.ppt(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数学实验2课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望n一、实验目的及意义一、实验目的及意义n二、实验课时安排二、实验课时安排n三、实验步骤三、实验步骤n四、实验要点分析四、实验要点分析n五、实验总结五、实验总结内容简介内容简介n一、实验目的及意义一、实验目的及意义n二、实验课时安排二、实验课时安排n三、实验步骤三、实验步骤n四、实验要点分析四、实验要点分析n五、实验总结五、实验总结内容简介内容简介一、一、实验目的及意义实验目的及意义n11了解拟合基本的内
2、容;了解拟合基本的内容;n22掌握掌握MATLABMATLAB软件求解拟合问题;软件求解拟合问题;n33验证几个简单模型的求解;验证几个简单模型的求解;n44对预测和确定参数的实际问题对预测和确定参数的实际问题,建立数学模型建立数学模型,并求并求解解.n通过该实验的学习通过该实验的学习,了解拟合的几种典型应用了解拟合的几种典型应用,进一步进一步了解数学建模过程了解数学建模过程.这对于学生深入理解数学概念这对于学生深入理解数学概念,掌握掌握数学的思维方法数学的思维方法,熟悉处理大量的工程计算问题的方法熟悉处理大量的工程计算问题的方法具有十分重要的意义具有十分重要的意义.n一、实验目的及意义一、实
3、验目的及意义n二、实验课时安排二、实验课时安排n三、实验步骤三、实验步骤n四、实验要点分析四、实验要点分析n五、实验总结五、实验总结内容简介内容简介n一、实验目的及意义一、实验目的及意义n二、实验课时安排二、实验课时安排n三、实验步骤三、实验步骤n四、实验要点分析四、实验要点分析n五、实验总结五、实验总结内容简介内容简介三、实验步骤三、实验步骤n1.建立一个自己的文件夹建立一个自己的文件夹;n2.开启软件平台开启软件平台-MATLAB,将你建立的文件夹加入,将你建立的文件夹加入到到MATLAB的搜索路径中。的搜索路径中。n3开启开启MATLAB编辑窗口编辑窗口,键入你编写的键入你编写的M文件(
4、命令文件(命令文件或函数文件);文件或函数文件);n4保存文件(注意将文件存入你自己的文件夹)并运保存文件(注意将文件存入你自己的文件夹)并运行;行;n5若出现错误,修改、运行直到输出正确结果;若出现错误,修改、运行直到输出正确结果;n6写出实验报告,并浅谈学习心得体会。写出实验报告,并浅谈学习心得体会。n一、实验目的及意义一、实验目的及意义n二、实验课时安排二、实验课时安排n三、实验步骤三、实验步骤n四、实验要点分析四、实验要点分析n五、实验总结五、实验总结内容简介内容简介曲线拟合的提法曲线拟合的提法已知一组(二维)数据,即平面上已知一组(二维)数据,即平面上 n个点个点(xi,yi)i=1
5、,n,寻求一个函数(曲线)寻求一个函数(曲线)y=f(x),使使 f(x)在某种准则下与所有在某种准则下与所有数据点最为接近,即曲线拟合得最好。数据点最为接近,即曲线拟合得最好。+xyy=f(x)(xi,yi)i i 为点为点(xi,yi)与与曲曲线线 y=f(x)的距离的距离.四、实验要点分析四、实验要点分析曲线拟合问题最常用的解法曲线拟合问题最常用的解法线性最小二乘法线性最小二乘法的基本思路的基本思路第一步第一步:先选定一组函数先选定一组函数 r1(x),r2(x),rm(x),mn,令令 f(x)=a1r1(x)+a2r2(x)+amrm(x)(1)其中其中 a1,a2,am 为待定系数
6、。为待定系数。第二步第二步:确定确定a1,a2,am 的准则(最小二乘准则):的准则(最小二乘准则):使使n个点个点(xi,yi)与与曲线曲线 y=f(x)的距离的距离 i 的平方和最小的平方和最小。记记问题归结为,求问题归结为,求 a1,a2,am 使使 J(a1,a2,am)最小。最小。简单举例说明:简单举例说明:我们用直线我们用直线a0+a1x拟合给定数据拟合给定数据:(xi,yi),i=1,2,m,把数据把数据 代入直线方程得:代入直线方程得:线性最小二乘法的求解:预备知识线性最小二乘法的求解:预备知识超定方程组超定方程组:方程个数大于未知量个数的方程组:方程个数大于未知量个数的方程组
7、即即 Ra=y其中其中超定方程一般是不存在解的矛盾方程组。超定方程一般是不存在解的矛盾方程组。如果有向量如果有向量a使得使得 达到最小,达到最小,则称则称a为上述为上述超定方程的最小二乘解超定方程的最小二乘解。线性最小二乘法的求解线性最小二乘法的求解 定理:定理:当当R RT TR R可逆时,超定方程组(可逆时,超定方程组(3 3)存在最小二乘解,)存在最小二乘解,且即为方程组且即为方程组 R RT TRa=RRa=RT Ty y的解:的解:a=(Ra=(RT TR)R)-1-1R RT Ty y 所以,曲线拟合的最小二乘法要解决的问题,实际上就是所以,曲线拟合的最小二乘法要解决的问题,实际上
8、就是求以下超定方程组的最小二乘解的问题。求以下超定方程组的最小二乘解的问题。其中其中Ra=y (3)设设 y*=a+bxi ,令令 i=yi-y*i=yi-a-bxi,根据最根据最小二乘原理,即使误差的平方和达到最小,也就是令小二乘原理,即使误差的平方和达到最小,也就是令 n Q=i2 i=1为最小为最小 ,即求使,即求使 有最小值的有最小值的a a和和b b的值。的值。给定数据给定数据(xi,yi),i=1,2,m.求拟合曲线求拟合曲线y*=a+b x,确定确定 a,b,使其均方误差使其均方误差 达到最小。由多元函数极值的必要条件,上式达到极小,达到最小。由多元函数极值的必要条件,上式达到极
9、小,a,b满足满足两个二阶导数均大于零 解之得解之得 a,b。代入代入 y*=a+b x,即得所求的拟合曲线。即得所求的拟合曲线。线性最小二乘拟合线性最小二乘拟合 f(x)=a1r1(x)+amrm(x)中函数中函数rr1 1(x),(x),r rm m(x)(x)的选取的选取 1.1.通过机理分析建立数学模型来确定通过机理分析建立数学模型来确定 f(x)f(x);+f=a1+a2xf=a1+a2x+a3x2f=a1+a2x+a3x2f=a1+a2/xf=aebxf=ae-bx 2.2.将数据将数据 (xi,yi)i=1,n 作图,通过直观判断确定作图,通过直观判断确定 f(x):用用MATL
10、AB解拟合问题解拟合问题1 1、线性最小二乘拟合、线性最小二乘拟合2 2、非线性最小二乘拟合、非线性最小二乘拟合3 3、cftool(cftool(自学自学)ployfitlsqcurvefitlsqnonlin用用MATLAB作线性最小二乘拟合作线性最小二乘拟合1.1.作多项式作多项式f(x)=a1xm+amx+am+1拟合拟合,可利用已有程序可利用已有程序:a=polyfit(x,y,m)2.2.对超定方程组对超定方程组可得最小二乘意义下的解。可得最小二乘意义下的解。,用,用输出拟合多项式系数输出拟合多项式系数a=a1,am,am+1输入同长度输入同长度的数组的数组X,Y拟合多项拟合多项式
11、次数式次数多项式在多项式在x处的值处的值y可用以下命令计算:可用以下命令计算:y=polyval(a,x)即要求即要求 出二次多项式出二次多项式:中中 的的使得使得:例例1 对下面一组数据作二次多项式拟合对下面一组数据作二次多项式拟合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=RyMATLAB(zxec1)解法解法1 1用解超定方程的方法用解超定方程的方法2)计算结果)计算结果:=-9.8108 20.1293 -0.031
12、71)输入以下命令:)输入以下命令: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)用用MATLAB作非线性最小二乘拟合作非线性最小二乘拟合 Matlab(Matlab(优化工具箱优化工具箱)的提供了两个求非线
13、性最小的提供了两个求非线性最小二乘拟合的函数:二乘拟合的函数:lsqcurvefitlsqcurvefit和lsqnonlinlsqnonlin。两个命令都要先建立两个命令都要先建立M-M-文件定义函数,然后编写文件定义函数,然后编写主程序主程序M-M-文件求解非线性模型的未知参数文件求解非线性模型的未知参数 注意:注意:两者定义两者定义f(x)f(x)的方式是不同的的方式是不同的.fun是一个事先建立的是一个事先建立的定义函数定义函数F(x,xdata)的的M-文件文件,输入变量为输入变量为x和和xdata格式:格式:x=lsqcurvefit(fun,x0,xdata,ydata);迭代初
14、值迭代初值已知数据点已知数据点1.lsqcurvefit1.lsqcurvefit已知数据点数据点:xdata=xdata=(xdata1,xdata2,xdataxdatan n),),ydata=ydata=(ydataydata1 1,ydataydata2 2,ydataydatan n)求非线性模型求非线性模型 F F 的未知参数的未知参数x x 格式:x=lsqnonlinlsqnonlin(fun,x0););fun是一个事先建立的是一个事先建立的定义函数定义函数f(x)的的M-文件,文件,自变量为自变量为x迭代初值迭代初值2.lsqnonlin已知数据点数据点:xdata=xd
15、ata=(xdata1,xdata2,xdataxdatan n),),ydata=ydata=(ydataydata1 1,ydataydata2 2,ydataydatan n)求非线性模型求非线性模型 F F 的未知参数的未知参数x x 其中其中f(x)=F(x,xdata)-ydata使得使得 最小最小。例例2 用下面一组数据拟合用下面一组数据拟合 中的参数中的参数a,b,k.该问题即解最优化问题:该问题即解最优化问题:MATLAB(curvefun1,fzxec1)1 1)编写)编写M-M-文件文件 curvefun1.m curvefun1.m function f=curvefu
16、n1(x,tdata)f=x(1)+x(2)*exp(-0.02*x(3)*tdata)%其中其中 x(1)=a;x(2)=b;x(3)=k;2)输入命令)输入命令tdata=100:100:1000tdata=100:100:1000cdata=cdata=1e-03*4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,*4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59;6.50,6.59;x0=0.2,0.05,0.05;x0=0.2,0.05,0.05;x=lsqcurvefit(curvefun1,x0,td
17、ata,cdata)x=lsqcurvefit(curvefun1,x0,tdata,cdata)f=f=curvefun1(x,tdata)F(x,tdata)=,x=(a,b,k)解法解法1 1.用命令用命令lsqcurvefitlsqcurvefitf(x)=x=(a,b,k)1)编写编写M-M-文件文件 curvefun2.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
18、(-0.02*x(3)*tdata)-cdata2)输入命令)输入命令:x0=0.2,0.05,0.05;x=lsqnonlin(curvefun2,x0)f=curvefun2(x)函数函数curvefun2的自变量是的自变量是x,cdata和和tdata是已知数据,故应是已知数据,故应将将cdata,tdata的值写在的值写在curvefun2.m中中解法解法2 2.用命令用命令lsqnonlinlsqnonlinMATLAB(curvefun2,fzxec2)课堂小结nx0的赋值:注意单位/根据结果重新赋值nployfit(x,y,m)中x,y的赋值:y换行要加n画图:非线性模型画出直线 非线性线性化后没有还原请大家仔细阅读实验报告请大家仔细阅读实验报告 内容及要求,认真完成内容及要求,认真完成谢谢