1. 首页
  2. 文档大全

数学实验 第6讲

上传者:xins****2008 2022-05-26 20:51:45上传 PPT文件 558KB
数学实验 第6讲_第1页 数学实验 第6讲_第2页 数学实验 第6讲_第3页

《数学实验 第6讲》由会员分享,可在线阅读,更多相关《数学实验 第6讲(36页珍藏版)》请在文档大全上搜索。

1、数学建模与数学实验数学建模与数学实验 插插 值值实验目的实验目的实验内容实验内容1了解插值的基本内容了解插值的基本内容11一维插值一维插值22二维插二维插值值33实验作业实验作业拉格朗日插值拉格朗日插值分段线性插值分段线性插值三次样条插值三次样条插值一一 维维 插插 值值一、一、插值的定义插值的定义二、插值的方法二、插值的方法三、三、用用MATLAB解插值问题解插值问题返回返回返回返回二维插值二维插值一、一、二维插值定义二维插值定义二、网格节点插值法二、网格节点插值法三、用三、用MATLAB解插值问题解插值问题最邻近插值最邻近插值分片线性插值分片线性插值双线性插值双线性插值网格节点数据的插值网

2、格节点数据的插值散点数据的插值散点数据的插值一维插值的定义一维插值的定义已知已知 n+1个节点个节点(,) (0,1, ,jjxyjn 其中其中jx互不相同,不妨设互不相同,不妨设),10bxxxan求任一插值点求任一插值点)(*jxx 处的插值处的插值.*y0 x1xnx0y1y节点可视为由节点可视为由)(xgy 产生产生,g表达式复杂表达式复杂,或无封闭形式或无封闭形式,或未知或未知.*x*y 构造一个构造一个(相对简单的相对简单的)函数函数),(xfy 通过全部节点通过全部节点, 即即()(0,1,)jjfxyjn再用再用)(xf计算插值,即计算插值,即).(*xfy 0 x1xnx0y

3、1y*x*y返回返回 称为拉格朗日插值基函数拉格朗日插值基函数0( )( )nniiiP xL xy 已知函数f(x)在n+1个点x0,x1,xn处的函数值为 y0,y1,yn 求一n次多项式函数Pn(x),使其满足: Pn(xi)=yi,i=0,1,n. 解决此问题的拉格朗日插值多项式公式如下其中Li(x) 为n次多项式:01110111()()()()()( )()()()()()iiniiiiiiiinxxxxxxxxxxL xxxxxxxxxxx拉格朗日拉格朗日(Lagrange)插值插值拉格朗日拉格朗日(Lagrange)插值插值特别地特别地:两点一次两点一次(线性线性)插值多项式插

4、值多项式: 101001011yxxxxyxxxxxL三点二次三点二次(抛物抛物)插值多项式插值多项式: 2120210121012002010212yxxxxxxxxyxxxxxxxxyxxxxxxxxxL ,.nLx直接验证可知满足插值条件55,11)(2xxxg 采用拉格朗日多项式插值:选取不同插值节点n+1个,其中n为插值多项式的次数,当n分别取2,4,6,8,10时,绘出插值结果图形.例例返回返回 拉格朗日多项式插值的这种振荡现象叫 Runge现象现象分段线性插值分段线性插值0111111()(),(),0,nnjjjjjjjjjjjjjjLxy lxxxxxxxxxxlxxxxxx

5、其 他计算量与n无关;n越大,误差越小.nnnxxxxgxL0),()(limxjxj-1xj+1x0 xnxyTo MATLABxch11,xch12,xch13,xch14返回返回66,11)(2xxxg例例用分段线性插值法求插值用分段线性插值法求插值,并观察插值误差并观察插值误差.1.在在-6,6中平均选取中平均选取5个点作插值个点作插值(xch11)4.在在-6,6中平均选取中平均选取41个点作插值个点作插值(xch14)2.在在-6,6中平均选取中平均选取11个点作插值个点作插值(xch12)3.在在-6,6中平均选取中平均选取21个点作插值个点作插值(xch13)比分段线性插值更光

6、滑比分段线性插值更光滑xyxi-1 xiab 在数学上,光滑程度的定量描述是:函数(曲线)的k阶导数存在且连续,则称该曲线具有k阶光滑性 光滑性的阶次越高,则越光滑是否存在较低次的分段多项式达到较高阶光滑性的方法?三次样条插值就是一个很好的例子三次样条插值三次样条插值 三次样条插值1( ) ( ),1, iiiS xs x xxxin 32201)( )(1,)2)()(0,1,)3)( ),iiiiiiinsxa xb xc xdinS xyinS xCxx) 1, 1()()(),()(),()(111 nixsxsxsxsxsxsiiiiiiiiiiii自然边界条件)(0)()()40

7、nxSxS)(,)4)3)2xSdcbaiiiig(x)为被插值函数为被插值函数)()(limxgxSn例例66,11)(2xxxg用三次样条插值选取用三次样条插值选取11个基点计算插值个基点计算插值(ych)用用MATLAB作插值计算作插值计算一维插值函数:一维插值函数:yi=interp1(x,y,xi,method)插值方法插值方法被插值点被插值点插值节点插值节点xi处的处的插值结果插值结果nearest 最邻近插值;最邻近插值;linear 线性插值;线性插值;spline 三次样条插值;三次样条插值;cubic 立方插值;立方插值; 缺省时缺省时 分段线性插值分段线性插值 注意:所有

8、的插值方法注意:所有的插值方法都要求都要求x是单调的,并且是单调的,并且xi不不能够超过能够超过x的范围的范围 例:从例:从1 1点点1212点点的的1111小时内,每隔小时内,每隔1 1小时测量一小时测量一次温度,测得的温度的数值依次为:次温度,测得的温度的数值依次为:5 5,8 8,9 9,1515,2525,2929,3131,3030,2222,2525,2727,2424试估计每隔试估计每隔1/101/10小时的温度值小时的温度值hours=1:12;temps=5 8 9 15 25 29 31 30 22 25 27 24;h=1:0.1:12;t=interp1(hours,t

9、emps,h,spline); (直接输出数据将是很多的直接输出数据将是很多的)plot(hours,temps,+,h,t,hours,temps,r:) %作图作图xlabel(Hour),ylabel(Degrees Celsius)xy机翼下轮廓线例例 已知飞机下轮廓线上数据如下,求已知飞机下轮廓线上数据如下,求x每改变每改变0.1时的时的y值值返回返回二维插值的定义二维插值的定义 xyO第一种(网格节点):第一种(网格节点): 已知已知 m n个节点个节点 (,) (1,2,.,;1,2, )ijijxyzim jn其中其中jiyx ,互不相同,不妨设互不相同,不妨设bxxxam 2

10、1dyyycn 21 构造一个二元函数构造一个二元函数),(yxfz 通过全部已知节点通过全部已知节点,即即再用再用),(yxf计算插值,即计算插值,即).,(*yxfz (,)(0,1,;0,1,)ijijfxyzimjn第二种(散乱节点):第二种(散乱节点): yxO已知已知n个节点个节点),.,2 , 1(),(nizyxiii 其中其中),(iiyx互不相同,互不相同, 构造一个二元函数构造一个二元函数),(yxfz 通过全部已知节点通过全部已知节点,即即),1 ,0(),(nizyxfiii 再用再用),(yxf计算插值,即计算插值,即).,(*yxfz 返回返回 注意:注意:最邻近

11、插值一般不连续具有连续性的最简单的插值是分片线性插值最邻近插值最邻近插值x y(x1, y1)(x1, y2)(x2, y1)(x2, y2)O 二维或高维情形的最邻近插值,与被插值点最邻近的节点的函数值即为所求返回返回 将四个插值点(矩形的四个顶点)处的函数值依次简记为: 分片线性插值分片线性插值xy (xi, yj)(xi, yj+1)(xi+1, yj)(xi+1, yj+1)Of (xi, yj)=f1,f (xi+1, yj)=f2,f (xi+1, yj+1)=f3,f (xi, yj+1)=f4插值函数为:11()jjijiiyyyxxyxx12132( , )()()()()i

12、jf x yfffxxffyy第二片(上三角形区域):(x, y)满足11()jjiiiiyyyxxyxx插值函数为:14134( , )()()()()jif x yfffyyffxx注意注意:(x, y)当然应该是在插值节点所形成的矩形区域内显然,分片线性插值函数是连续的;分两片的函数表达式如下:第一片(下三角形区域): (x, y)满足返回返回 双线性插值是一片一片的空间二次曲面构成双线性插值函数的形式如下:( , )()()f x yaxb cyd其中有四个待定系数,利用该函数在矩形的四个顶点(插值节点)的函数值,得到四个代数方程,正好确定四个系数双线性插值双线性插值x y(x1, y

13、1)(x1, y2)(x2, y1)(x2, y2)O返回返回 要求要求x0, ,y0单调;单调;x,y可取可取为矩阵,或为矩阵,或x取行向量,取行向量,y取为列向量,取为列向量,x,y的值分别不能的值分别不能超出超出x0, ,y0 0的范围的范围z=interp2(x0,y0,z0,x,y,method)被插值点插值方法用用MATLAB作网格节点数据的插值作网格节点数据的插值插值节点被插值点的函数值nearest 最邻近插值;最邻近插值;linear 双线性插值;双线性插值;cubic 双三次插值;双三次插值;缺省时缺省时 双线性插值双线性插值. .例:测得平板表面例:测得平板表面3 35

14、5网格点处的温度分别为:网格点处的温度分别为: 82 81 80 82 84 82 81 80 82 84 79 63 61 65 81 79 63 61 65 81 84 8484 84 82 85 86 82 85 86 试作出平板表面的温度分布曲面试作出平板表面的温度分布曲面z= =f( (x, ,y) )的图形的图形输入以下命令:x=1:5;y=1:3;temps=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个单位的

15、地方进行插值.再输入以下命令:xi=1:0.2:5;yi=1:0.2:3;zi=interp2(x,y,temps,xi,yi,cubic);mesh(xi,yi,zi)画出插值后的温度分布曲面图. 通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插值效果进行比较返回返回 插值函数插值函数griddata格式为格式为: cz =griddata(x,y,z,cx,cy,method)用用MATLAB作散点数据的插值计算作散点数据的插值计算 要求要求cx取行向量,取行向量,cy取为列向量取为列向量被插值点插值方法插值节点被插值点的函数值nearest最邻近插值最邻近插值linear 双线

16、性插值双线性插值cubic 双三次插值双三次插值v4- MATLAB提供的插值方法提供的插值方法缺省时缺省时, , 双线性插值双线性插值 例例 在某海域测得一些点在某海域测得一些点( (x, ,y) )处的水深处的水深z由下表由下表给出,船的吃水深度为给出,船的吃水深度为5 5英尺,在矩形区域(英尺,在矩形区域(7575,200200)(-50-50,150150)里的哪些地方船要避免进)里的哪些地方船要避免进入入 2.75,20050,150. (1)hd 在矩形区域作二维插值三次插值法 .1 输入插值基点数据To MATLAB hd1返回返回4.作出水深小于5的海域范围,即z=5的等高线. 3 作海底曲面图实验作业实验作业 山区地貌:山区地貌:在某山区测得一些地点的高程如下表:在某山区测得一些地点的高程如下表:( (平平面区域面区域12001200 x 4000,12004000,1200y 3600)3600),试作出该山区的,试作出该山区的地貌图和等高线图,并对几种插值方法进行比较地貌图和等高线图,并对几种插值方法进行比较返回返回


文档来源:https://www.renrendoc.com/paper/212454706.html

文档标签:

下载地址