《[其它]插值.ppt》由会员分享,可在线阅读,更多相关《[其它]插值.ppt(33页珍藏版)》请在三一办公上搜索。
1、1,插值与拟合,插 值,2,实验目的,实验内容,2、掌握用数学软件包求解插值问题。,1、了解插值的基本内容。,1一维插值,2二维插值,3实验作业,3,拉格朗日插值,分段线性插值,三次样条插值,一 维 插 值,一、插值的定义,二、插值的方法,三、用Matlab解插值问题,返回,4,返回,二维插值,一、二维插值定义,二、网格节点插值法,三、用Matlab解插值问题,最邻近插值,分片线性插值,双线性插值,网格节点数据的插值,散点数据的插值,5,一维插值的定义,节点可视为由产生,g表达式待定。,6,返回,xk,插值结点,插值结点,x*,7,已知函数f(x)在n+1个点x0,x1,xn处的函数值为 y0
2、,y1,yn。求一n次多项式函数Pn(x),使其满足:Pn(xi)=yi,i=0,1,n.,拉格朗日(Lagrange)插值,特别地,n=2,两点一次(线性)插值多项式:,已知函数f(x)在2个点x0,x1处的函数值为y0,y1,求一2次多项式函数P2(x),使其满足:Pn(xi)=yi,i=0,1.,8,三点二次(抛物)插值多项式:,特别地,n=3,9,称为拉格朗日插值基函数。,解决此问题的拉格朗日插值多项式公式如下,其中Li(x)为n次多项式:,一般地n,10,分段线性插值,计算量与n无关;n越大,误差越小但不光滑,11,比分段线性插值更光滑。如轮船的流线等要求光滑,光滑程度的定量描述:函
3、数(曲线)的k阶导数存在且连续,则称该曲线具有k阶光滑性。光滑性的阶次越高,则越光滑。能否结合高次插值与分段插值的优点?三次样条插值就是一个很好的例子。,三次样条插值,12,三次样条插值,三次样条函数记作s(x),a=x=b,它要求在每个区间x(i-1),x(i)上是3次多项式;在a=x=b上二阶导数连续;S(xi)=yi,I=0,1,n;由条件a),不妨将s(x)记为,13,Si(x)满足如下,其中ai,bi,ci,di待定(共4n个)。,共含4n-2个方程,有4n个未知数,还要两个条件,考虑到在xi点,有,14,对被插值函数g(x)发,我们有如下的极限。,最常用的条件是:,三次样条函数:优
4、点:有光滑性,且极限收敛缺点:解法工作量大,方程组常病态。,15,用MATLAB作插值计算,一维插值函数:,yi=interp1(x,y,xi,method),nearest:最邻近插值linear:线性插值;spline:三次样条插值;cubic:立方插值。缺省时:分段线性插值。,注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围。,16,例:在1-12的11小时内,每隔1小时测量一次温度,测得的温度依次为:5,8,9,15,25,29,31,30,22,25,27,24。试估计每隔1/10小时的温度值。,hours=1:12;temps=5 8 9 15 25 29 31 3
5、0 22 25 27 24;h=1:0.1:12;t=interp1(hours,temps,h,spline);%(直接输出数据将是很多的)plot(hours,temps,+,h,t,hours,temps,r:)%作图xlabel(Hour),ylabel(Degrees Celsius),17,例 已知飞机下轮廓线上数据如下,求x每改变0.1时的y值。,返回,18,二维插值的定义,第一种(网格节点):,19,已知 mn个节点,20,第二种(散乱节点):,21,返回,22,注意:最邻近插值一般不连续。具有连续性的最简单的插值是分片线性插值。,最邻近插值,二维或高维情形的最邻近插值,与被插
6、值点最邻近的节点的函数值即为所求。,返回,23,将四个插值点(矩形的四个顶点)处的函数值依次简记为:,分片线性插值,f(xi,yj)=f1,f(xi+1,yj)=f2,f(xi+1,yj+1)=f3,f(xi,yj+1)=f4,24,插值函数为:,第二片(上三角形区域):(x,y)满足,插值函数为:,注意:(x,y)当然应该是在插值节点所形成的矩形区域内。显然,分片线性插值函数是连续的;,分两片的函数表达式如下:,第一片(下三角形区域):(x,y)满足,返回,25,双线性插值是一片一片的空间二次曲面构成。双线性插值函数的形式如下:,其中有四个待定系数,利用该函数在矩形的四个顶点(插值节点)的函
7、数值,得到四个代数方程,正好确定四个系数。,双线性插值,返回,26,要求x0,y0单调;x,y可取为矩阵,或x取行向量,y取为列向量,x,y的值分别不能超出x0,y0的范围。,z=interp2(x0,y0,z0,x,y,method),用MATLAB作网格节点数据的插值,nearest 最邻近插值linear 双线性插值cubic 双三次插值缺省时,双线性插值,27,例:测得平板表面3*5网格点处的温度分别为:82 81 80 82 84 79 63 61 65 81 84 84 82 85 86 试作出平板表面的温度分布曲面z=f(x,y)的图形。,输入以下命令:x=1:5;y=1:3;t
8、emps=82 81 80 82 84;79 63 61 65 81;84 84 82 85 86;mesh(x,y,temps),1.先在三维坐标画出原始数据,画出粗糙的温度分布曲图.,2以平滑数据,在x、y方向上每隔0.2个单位的地方进行插值.,28,再输入以下命令:xi=1:0.2:5;yi=1:0.2:3;zi=interp2(x,y,temps,xi,yi,cubic);mesh(xi,yi,zi)画出插值后的温度分布曲面图.,29,通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插值效果进行比较。,返回,30,插值函数griddata格式为:,cz=griddata(x,y
9、,z,cx,cy,method),用MATLAB作散点数据的插值计算,要求cx取行向量,cy取为列向量。,nearest 最邻近插值linear 双线性插值cubic 双三次插值v4-Matlab提供的插值方法缺省时,双线性插值,31,例 在某海域测得一些点(x,y)处的水深z由下表给出,船的吃水深度为5英尺,在矩形区域(75,200)*(-50,150)里的哪些地方船要避免进入。,32,To MATLAB hd1,返回,4.作出水深小于5的海域范围,即z=5的等高线.,33,实验作业,山区地貌:在某山区测得一些地点的高程如下表:(平面区域1200=x=4000,1200=y=3600),试作出该山区的地貌图和等高线图,并对几种插值方法进行比较。,返回,