《第六讲多项式拟合与插值精选PPT.ppt》由会员分享,可在线阅读,更多相关《第六讲多项式拟合与插值精选PPT.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六讲多项式拟合与插值第1页,此课件共13页哦 已知离散点上的数据集已知离散点上的数据集 求求得一解析函数得一解析函数y=f(x),使,使f(x)在原离散点在原离散点xi上尽可能接近给定上尽可能接近给定yi的值,这一过程叫曲线拟合的值,这一过程叫曲线拟合.最常用的曲线拟合是最小二乘最常用的曲线拟合是最小二乘法曲线拟合,拟合结果可使误差的平方和最小,即找出使下式法曲线拟合,拟合结果可使误差的平方和最小,即找出使下式最小的最小的f(x):通常,在解决实际问题时先将已知数据的散点图画出,然通常,在解决实际问题时先将已知数据的散点图画出,然后设计拟合的曲线类型,最后根据某种准则选定最佳的曲线后设计拟合
2、的曲线类型,最后根据某种准则选定最佳的曲线.1.多项式拟合多项式拟合 多项式拟合就是选择适当的多项式对数据集进行拟合,其命令为:多项式拟合就是选择适当的多项式对数据集进行拟合,其命令为:格式:格式:p=polyfit(X,Y,n).第2页,此课件共13页哦说明:求出已知数据说明:求出已知数据(X,Y)的的n阶拟合多项式阶拟合多项式f(x)按降幂排按降幂排列的系数列的系数p,X必须是单调的必须是单调的.例例1.对以下数据对以下数据作出散点图,然后用多项式拟合:作出散点图,然后用多项式拟合:(0.5,1.75),(1,2.75),(1.5,3.81),(2,4.8),(2.5,7),(3,8.6)
3、解:解:x=0.5,1.0,1.5,2.0,2.5,3.0;y=1.75,2.45,3.81,4.80,7.00,8.60;plot(x,y)发现:这些点大致地位于某条直线发现:这些点大致地位于某条直线附近,故可考虑线性拟合:附近,故可考虑线性拟合:x=0.5,1.0,1.5,2.0,2.5,3.0;y=1.75,2.45,3.81,4.80,7.00,8.60;plot(x,y)ans:p=2.7937 -0.1540即拟合函数为:即拟合函数为:y=2.7937x-0.154(图图6.1)第3页,此课件共13页哦上述函数的拟合效果如何?我们可以通过计算误差平上述函数的拟合效果如何?我们可以通
4、过计算误差平方和的大小进行考察(两种方法):方和的大小进行考察(两种方法):(1)sum(2.7937*x-0.154-y).2)=0.9136如果用二次函数进行拟合,则有:如果用二次函数进行拟合,则有:p=polyfit(x,y,2)p=0.5614 0.8287 1.1560即拟合函数为:即拟合函数为:此时误差平方和为:此时误差平方和为:sum(polyval(p,x)-y).2)=0.1781根据误差平方和最小原则:二次函数优于线性函数根据误差平方和最小原则:二次函数优于线性函数(2)sum(polyval(p,x)-y).2)=0.9136是否有误差等于零的多项式?有,那就是该数据点的
5、是否有误差等于零的多项式?有,那就是该数据点的插值多项式(五次多项式)插值多项式(五次多项式)第4页,此课件共13页哦 通常,给出两点的坐标,我们可以得到一条直线;若给出三通常,给出两点的坐标,我们可以得到一条直线;若给出三点的坐标,我们可以得到一条抛物线;点的坐标,我们可以得到一条抛物线;,给出,给出n个点的坐标,个点的坐标,我们可以得到一个我们可以得到一个n-1阶的多项式阶的多项式.是否多项式的阶数越高越好呢?非也!在解决实际问题是否多项式的阶数越高越好呢?非也!在解决实际问题时,只要达到所需的精度,应尽量选择简单的函数时,只要达到所需的精度,应尽量选择简单的函数.p=-1.6000 13
6、.7400 -44.0733 65.6650 -42.6317 11.3500此时多项式在此时多项式在x处的函数值为:处的函数值为:polyval(p,x)ans=1.7500 2.4500 3.8100 4.8000 7.0000 8.6000例例2.某种合金中的主要成分为某种合金中的主要成分为A,B两种金属,经过试验发现:两种金属,经过试验发现:这两种金属成分之和这两种金属成分之和x与合金的膨胀系数与合金的膨胀系数y有如下关系,建立描有如下关系,建立描述这种关系的数学表达式述这种关系的数学表达式.第5页,此课件共13页哦x3737.53838.53939.54040.54141.54242
7、.543y3.4332.272.11.831.531.71.81.92.352.542.9解:首先作出散点图解:首先作出散点图:x=37:0.5:43;y=3.4,3,3,2.27,2.1,1.83,1.53,1.7,1.8,1.9,2.35,2.54,2.9;plot(x,y,*)发现:有点像抛物线,故选二发现:有点像抛物线,故选二次函数拟合次函数拟合.p=polyfit(x,y,2)p=0.1660 -13.3866 271.6231即为所求拟合曲线即为所求拟合曲线误差平方和:误差平方和:R=sum(polyval(p,x)-y).2)=0.2523(图图6.2)第6页,此课件共13页哦二
8、二.函数插值函数插值1.一维插值一维插值格式一:格式一:YI=INTERP1(X,Y,XI,method)X,Y为原始数据,为原始数据,XI,YI为插值出的数值,为插值出的数值,method是插值所用的方法是插值所用的方法.第7页,此课件共13页哦 .Available methods are:nearest -nearest neighbor interpolation linear -linear interpolation spline -piecewise cubic spline interpolation(SPLINE)pchip -piecewise cubic Hermite
9、interpolation(PCHIP)cubic -same as pchip例例4.对对 y=cosx的数据进行插值,比较各种插值方法的数据进行插值,比较各种插值方法x=-2*pi:0.5*pi:2*pi;y=cos(x);xi=-2*pi:0.1*pi:2*pi;y_nearest=interp1(x,y,xi);y_linear=interp1(x,y,xi);y_spline=interp1(x,y,xi,spline);y_cubic=interp1(x,y,xi,cubic);第8页,此课件共13页哦plot(x,y,o,xi,y_nearest,-,xi,y_linear,r*
10、,xi,y_spline,k:,xi,y_cubic,k-);legend(original data,nearest,linear,spline,cubic)(图图6.5)第9页,此课件共13页哦2.二维插值二维插值格式:格式:ZI =interp2(X,Y,Z,XI,YI,method)说明:用指定的算法说明:用指定的算法method计算二维插值计算二维插值.返回矩阵返回矩阵ZI 其元素其元素对应于参量对应于参量XI与与YI的元素的元素.用户可以输入行向量和列向量用户可以输入行向量和列向量Xi与与Yi,此时,输出向量,此时,输出向量Zi与矩阵与矩阵meshgrid(xi,yi)是同型的是同
11、型的.参量参量X与与Y必须是单调的,且相同的划分格式,就像由命令必须是单调的,且相同的划分格式,就像由命令meshgrid生成的一样生成的一样.method有:有:linear:双线性插值算法(缺省算法):双线性插值算法(缺省算法).nearest:最近邻插值:最近邻插值.spline:三次样条插值:三次样条插值.cubic:双三次插值:双三次插值.第10页,此课件共13页哦例例5.下表给出了美国从下表给出了美国从1950-1990年工作年限年工作年限10,20,30年的工年的工资情况,使用插值计算资情况,使用插值计算1975年工作年工作15年的工资年的工资Y S10年20年30年195015
12、0.697199.592187.6251960179.323195.072250.2871970203.212179.092322.7671980 226.505153.706426.7301990249.633 120.281598.243第11页,此课件共13页哦years=1950:10:1990;service=10:10:30;wage=150.697,199.592,187.625;179.323,195.072,250.287;203.212,179.092,322.767;226.505,153.706,426.730;249.633,120.281,598.243;w=int
13、erp2(service,years,wage,15,1975)结果为:结果为:w=190.6288例例6.在某处测得海洋不同深处水温在某处测得海洋不同深处水温 如下:如下:深度(m)44671495014221634水温()7.044.283.402.542.13试求在深度试求在深度500米、米、1000米、米、1500米处的水温米处的水温第12页,此课件共13页哦解:解:h=446,714,950,1422,1634;w=7.04,4.28,3.40,2.54,2.13;hi=500,1000,1500;p=spline(h,w);ci=ppval(p,hi)plot(h,w,or),hold on,plot(hi,ci,*)legend(original data,spline)我们将原始数据与插值结果在同一个坐标系中展示,其中我们将原始数据与插值结果在同一个坐标系中展示,其中o为原始为原始数据,数据,*为插值结果为插值结果.第13页,此课件共13页哦