一位插值二维插值课件_第1页
一位插值二维插值课件_第2页
一位插值二维插值课件_第3页
一位插值二维插值课件_第4页
一位插值二维插值课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验十二 实验数据的插值 一、实验目的学会MATLAB软件中利用给定数据进行插值运算的方法。二、相关知识在生产和科学实验中,自变量 与因变量 间的函数关系 有时不能写出解析表达式,而只能得到函数在若干点的函数值或导数值,或者表达式过于复杂需要较大的计算量而只能计算函数在若干点的函数值或导数值,当要求知道其它点的函数值时,需要估计函数值在该点的值。为了完成这样的任务,需要构造一个比较简单的函数 ,使函数在观测点的值等于已知的值,或使函数在该点的导数值等于或者接近已知的值,寻找这样的函数 有很多方法。根据测量数据的类型有以下两类处理观测数据的方法。 二、相关知识(1)测量数据的数据量较小并且数据值

2、是准确的,或者基本没有误差,这时我们一般用插值的方法来解决问题。(2)测量数据的数据量较大或者测量值与真实值有误差,这时一般用曲线拟合的方法来解决问题。为了完成这样的任务,需要构造一个比较简单的函数 ,使函数在观测点的值等于已知的值,或使函数在该点的导数值等于或者接近已知的值,寻找这样的函数 有很多方法。根据测量数据的类型有以下两类处理观测数据的方法。 (1)测量数据的数据量较小并且数据值是准确的,或者基本没有误差,这时我们一般用插值的方法来解决问题。(2)测量数据的数据量较大或者测量值与真实值有误差,这时一般用曲线拟合的方法来解决问题。在MATLAB中,无论是插值还是拟合,都有相应的命令来处

3、理。本实验讨论插值。 一维插值已知离散点上的数据集 ,即已知在点集 上的函数值 ,构造一个解析函数(其图形为一曲线)通过这些点,并能够求出这些点之间的值,这一过程称为一维插值。完成这一过程可以有多种方法,我们现在在MATLAB中,无论是插值还是拟合,都有相应的命令来处理。本实验讨论插值。 一维插值已知离散点上的数据集 ,即已知在点集 上的函数值 ,构造一个解析函数(其图形为一曲线)通过这些点,并能够求出这些点之间的值,这一过程称为一维插值。完成这一过程可以有多种方法,我们现在利用MATLAB提供的函数interp1,这个函数的调用格式为:yi=interp1(X,Y,xi,method) 该命

4、令用指定的算法找出一个一元函数 ,然后以 给出 处的值。 xi 可以是一个标量,也可以是一个向量,是向量时,必须单调,method可以下列方法之一: nearest:最近邻点插值,直接完成计算; spline:三次样条函数插值;linear:线性插值(缺省方式),直接完成计算利用MATLAB提供的函数interp1,这个函数的调用格式为:yi=interp1(X,Y,xi,method) 该命令用指定的算法找出一个一元函数 ,然后以 给出 处的值。 xi 可以是一个标量,也可以是一个向量,是向量时,必须单调,method可以下列方法之一: nearest:最近邻点插值,直接完成计算; spli

5、ne:三次样条函数插值;linear:线性插值(缺省方式),直接完成计算 cubic:三次函数插值;对于minxi,maxxi外的值,MATLAB使用外推的方法计算数值。例1:已知某产品从1900年到2010年每隔10年的产量为:75.995, 91.972, 105.711,123.203, 131.699, 150.697, 179.323, 203.212, 226.505, 249.633, 256.344, 267.893,计算出1995年的产量,用三次样条插值的方法,画出每隔一年的插值曲线图形,同时将原始的数据画在同一图上。 cubic:三次函数插值;对于minxi,maxxi外的

6、值,MATLAB使用外推的方法计算数值。例1:已知某产品从1900年到2010年每隔10年的产量为:75.995, 91.972, 105.711,123.203, 131.699, 150.697, 179.323, 203.212, 226.505, 249.633, 256.344, 267.893,计算出1995年的产量,用三次样条插值的方法,画出每隔一年的插值曲线图形,同时将原始的数据画在同一图上。解:程序如下year=1900:10:2010;product=75.995,91.972,105.711,123.203,131.699,150.697,179.323,203.212,

7、226.505,249.633,256.344,267.893p1995=interp1(year,product,1995,spline)x=1900:2010;y=interp1(year,product,x,spline);plot(year,product,o,x,y);计算结果为:p1995=253.2278 如果用线性插值,则程序的后四行改为:解:程序如下year=1900:10:2010;product=75.995,91.972,105.711,123.203,131.699,150.697,179.323,203.212,226.505,249.633,256.344,267

8、.893p1995=interp1(year,product,1995,spline)x=1900:2010;y=interp1(year,product,x,spline);plot(year,product,o,x,y);计算结果为:p1995=253.2278 如果用线性插值,则程序的后四行改为:p1995=interp1(year,product,1995,linear) x=1900:2010;y=interp1(year,product,x,linear);plot(year,product,o,x,y);计算结果为:p1995=252.9885 这两种计算方法得到的数据有微小的差

9、异,这种差异我们从两个图形上也能够看到,主要表现在节点(那些绘制成圆点的点)的附近。前者是光滑的,后者有角点出现。p1995=interp1(year,product,1995,linear) x=1900:2010;y=interp1(year,product,x,linear);plot(year,product,o,x,y);计算结果为:p1995=252.9885 这两种计算方法得到的数据有微小的差异,这种差异我们从两个图形上也能够看到,主要表现在节点(那些绘制成圆点的点)的附近。前者是光滑的,后者有角点出现。二维插值已知离散点上的数据集 即已知在点集 上的函数值 ,构造一个解析函数

10、(其图形为一曲面)通过这些点,并能够求出这些已知点以外的点的函数值,这一过程称为二维插值。MATLAB命令:Zi=interp2(X,Y,Z,Xi,Yi,method)该命令用指定的算法找出一个二元函数 ,然后以 给出 处的值。返回数据矩阵Zi,Xi,Yi是向量,且必须单调,Zi和meshgrid(Xi,Yi)是同类型的。 method可以下列方法之一:nearest:最近邻点插值,直接完成计算; spline:三次样条函数插值;linear:线性插值(缺省方式),直接完成计算 cubic:三次函数插值; MATLAB命令:Zi=interp2(X,Y,Z,Xi,Yi,method)该命令用指

11、定的算法找出一个二元函数 ,然后以 给出 处的值。返回数据矩阵Zi,Xi,Yi是向量,且必须单调,Zi和meshgrid(Xi,Yi)是同类型的。 method可以下列方法之一:nearest:最近邻点插值,直接完成计算; spline:三次样条函数插值;linear:线性插值(缺省方式),直接完成计算 cubic:三次函数插值; 例2:已知1950年到1990年间每隔10年,服务年限从10年到30年每隔10年的劳动报酬表如下:某企业工作人员的月平均工资(元)试计算1975年时,15年工龄的工作人员平均工资。服务年限年份1020301950150.697169.592187.652196017

12、9.323195.072250.2871970203.212239.092322.7671980226.505273.706426.7301990249.633370.281598.243解:程序如下:years=1950:10:1990;service=10:10:30;wage=150.697 169.592 187.652 179.323 195.072 250.287试计算1975年时,15年工龄的工作人员平均工资。1960179.323195.072250.2871970203.212239.092322.7671980226.505273.706426.7301990249.633

13、370.281598.243解:程序如下:years=1950:10:1990;service=10:10:30;wage=150.697 169.592 187.652 179.323 195.072 250.287 203.212 239.092 322.767 226.505 273.706 426.730 249.633 370.281 598.243w=interp2(service,years,wage,15,1975)计算结果为:235.6288例3:设有数据x=1,2,3,4,5,6,y=1,2,3,4,在由x,y构成的网格上,数据为:12,10,11,11,13,1516,2

14、2,28,35,27,2018,21,26,32,28,25 203.212 239.092 322.767 226.505 273.706 426.730 249.633 370.281 598.243w=interp2(service,years,wage,15,1975)计算结果为:235.6288例3:设有数据x=1,2,3,4,5,6,y=1,2,3,4,在由x,y构成的网格上,数据为:12,10,11,11,13,1516,22,28,35,27,2018,21,26,32,28,2520,25,30,33,32,20画出原始网格图和将网格细化为间隔为0.1后的插值网格图。解:程序

15、为:x=1:6;y=1:4;t=12,10,11,11,13,1516,22,28,35,27,20 18,21,26,32,28,25; 20,25,30,33,32,20subplot(1,2,1)mesh(x,y,t)20,25,30,33,32,20画出原始网格图和将网格细化为间隔为0.1后的插值网格图。解:程序为:x=1:6;y=1:4;t=12,10,11,11,13,1516,22,28,35,27,20 18,21,26,32,28,25; 20,25,30,33,32,20subplot(1,2,1)mesh(x,y,t)x1=1:0.1:6;y1=1:0.1:4;x2,y2=meshgrid(x1,y1);t1=interp2(x,y,t,x2,y2,cubic);subplot(1,2,2)mesh(x1,y1,t1);结果如图。左图是给定的网格处的数据,右图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论