好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

实验10曲线拟合和插值运算.doc

6页
  • 卖家[上传人]:飞***
  • 文档编号:39932024
  • 上传时间:2018-05-21
  • 文档格式:DOC
  • 文档大小:1.69MB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1实验实验 10 曲线拟合和插值运算曲线拟合和插值运算一.一. 实验目的实验目的 学会 MATLAB 软件中软件拟合与插值运算的方法二.二. 实验内容与要求实验内容与要求 在生产和科学实验中,自变量 x 与因变量 y=f(x)的关系式有时不能直接写出表达式, 而只能得到函数在若干个点的函数值或导数值当要求知道观测点之外的函数值时,需要 估计函数值在该点的值 要根据观测点的值,构造一个比较简单的函数 y=t (x),使函数在观测点的值等于已知的 数值或导数值,寻找这样的函数 t(x),办法是很多的 根据测量数据的类型有如下两种处理观测数据的方法 (1)测量值是准确的,没有误差,一般用插值 (2)测量值与真实值有误差,一般用曲线拟合 MATLAB 中提供了众多的数据处理命令,有插值命令,拟合命令 1.. 曲线拟合曲线拟合已知离散点上的数据集[(,),………(,)],求得一解析函数 y=f (x),使 f(x)1x1ynxny在原离散点上尽可能接近给定的值,之一过程叫曲线拟合最常用的的曲ixiy线拟合是最小二乘法曲线拟合,拟合结果可使误差的平方和最小,即使出使21|( )|nii if xy最小的 f(x). 格式:p=polyfit(x,Y,n). 说明:求出已知数据 x,Y 的 n 阶拟合多项式 f(x)的系数 p,x 必须是单调的。

      [例例1.95] >>x=[0.5,1.0,1.5,2.0,2.5,3.0]; %给出数据点的 x 值 >>y=[1.75,2.45,3.81,4.80,7.00,8.60]; %给出数据点的 y 值 >>p=polyfit (x,y,2); %求出二阶拟合多项式 f(x)的系数 >>x1=0.5:0.05:3.0; %给出 x 在 0.5~3.0 之间的离散值>>y1=polyval(p,); %求出 f(x)在的值 1x1x>>plot(x,y,’*r’, ’-b’) %比较拟合曲线效果11,x y计算结果为: p=0.5614 0.8287 1.1560即用 f(x)=0.5614+0.8287x+1.1560 拟合已知数据,拟合曲线效果如图所示2x2问题 1.32:将上题改为 6 阶拟合,拟合效果又如何?(拟合曲线经过所有已知数据点)从 以上例子可看出,选择不同的阶数,会得到不同的效果,如何选择阶数,需要进一步了解 系统辨识方面的知识。

      2.. 一维插值一维插值已知离散点上的数据集[(,),………(,)],找出一解析函数连接自变量相1x1ynxny邻的两个点() ,并求得两点间的数值,之一过程叫插值1iix x 格式一:yi=inter(X,Y,,method)1p1x说明:该命令用指定的算法对数据点之间计算内插值,它找出一元函数 f(x)在中 间点的数值,其中函数 f(x)由所给数据决定,各个参量之间的关系如图 1.32 所 示‘nearest’::最近邻点插值,直接完成计算 ‘linear’:线性插值(缺省方式) ,直接完成计算 ‘spline’:三次样条函数插值‘cubic’:三次函数插值对于超出 x 的范围的的分量,使用其他的方法,inter将对超出的分量执行1x1p外插值算法格式二: = inter(X,Y,,method,’extrap’)%对于超出 x 范围的中的分量1y1p1x1x将执行特殊的外插值法 extrap.yi=inter(X,Y,,method,extrapval)%确定超出 x 范围的中的分量的外插值1p1x1xextrapval,其值通常取 NaN 或 0. [例例 1.96] >> year = 1900:10:2010;3>>product = [75.995,91.972,105.711,123.203,131.669,….249.633,256.344,267.893 ]; >>p2005 = =interpl (year , product , 2005) x = 1900 : 1: 2010; >>y= interpl(year,product,x, ‘cubic’); >>plot(year,product,’o’,x,y) 插值结果为 p1995 =262.1185 3.二维插值二维插值 格式:ZI=interp2 (X,Y,Z,XI,YI,method) 说明:用指定的算法 method 计算二维插值,返回矩阵 ZI,其元素对应于参量 XI与 Y 元素,用户 可以输入行向量和列向量 XI 和 YI,此时,输出向量 ZI 与矩阵 meshgrid(xi,yi)是同型的,参量 X 与 Y 必须是单调的,且相同的划分格式,就像由命令 meshgrid 生成的一样,method 有: ‘linear’:双线性插值算法(缺省算法) ‘nearest’:最临近插值 ‘spline’:三次样条插值 ‘cubic’:双三次插值 [例例 1.97] >> 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.636,120.281,598.243]; >> w=interp2(service,years,wage,15,1975) 插值结果为: w=190.6288 [例例 1.98] >> x=1:6;y=1:4; >> t=[12,10,11,11,13,15;16,22,28,35,27,20;18,21,26,32,28,25;20,25,30,33,32,30]; >> subplot(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) 图形结果为:4三三 练习与思考练习与思考 1)已知 x=[1.2,1.8,2.1,2.4,2.6,3.0,3.3],y=[4.85,5.2,5.6,6.2,6.5,7.0,7.5],求对 x 和 y 进行 6 阶多 项式拟合的系数. 2)分别用 2,3,4,5 阶多项式来逼近[0,3]上的正弦函数 sin x,并做出拟合曲线及 sin x 函数曲 线图,了解多项式的逼近程度和有效拟合区间随多项式的阶数有何变化. 3)已知 x=[0.1,0.8,1.3,1.9,2.5,3.1],y=[1.2,1.6,2.7,2.0,1.3,0.5],用不同的方法求 x=2 点的插值, 并分析所得结果有何不同.四四 提高内容提高内容 1.三维数据插值格式:VI=interp3(X,Y,Z,V,XI,YI,ZI,method). 说明:用指定的算法 method 找出由参量 X,Y,Z 决定的三元函数 V=V(X,Y,Z)在点 (XI,YI,ZI)的值,参量 XI,YI,ZI是同型阵列或向量.‘cubic’:三次插值‘spline’:三次样条插值.‘nearest’:最邻近插值. 注意注意:在所有的算法中,都要求 X,Y,Z 是单调且有相同的格点形式,当 X,Y,Z 是等距且单调时, 且算法’*linear’,*cubic’,*nearest’可得到快速插值. [例 1.99] >> [x,y,z,v]=flow(20); >> [xx,yy,zz]=meshgrid(0.1:0.25:10,-3:0.25:3,-3:0.25:3); >> vv=interp3(x,y,z,v,xx,yy,zz); >> slice(xx,yy,zz,vv,[6,9.5],[1,2],[-2,0.2]); >> shading interp >> colormap cool 插值图形如下:52.一维插值的快速傅里叶算法一维插值的快速傅里叶算法格式:y=interpft(x,n). 说明:返回包含周期函数 x 在重采用的 n 个等距的点的插值 y.若 length(x)=m,且 x 有采 样间隔 dx,则新的 y 的采样间隔 dy=dx*m/n,注意,必须要 nm,若 x 为一矩阵,则按 x 的列进行计算,返回的矩阵 y 有与 x 相同的列数,但有 n 行. 3.数据格点数据格点 格式:ZI=griddata(x,y,z,XI,YI,method). 说明:用二元函数 z=f(x,y)的曲面拟合有不规则的数据向量 x,y,z.griddata 将返回曲面 z 在点)XI,YI)处的插值,曲面总是经过这些数据点(x,y,z)的,输入参量(XI,YI)通常是规则的 格点(像用命令 meshgrid 生成的一样),XI可以是行向量,这时 XI指定一有常数列向量的 矩阵,类似地,YI可以是一列向量,它指定一个有常数行向量的矩阵. ‘linear’:基于三角形的线性插值(缺省算法) ‘cubic’:基于三角形的三次插值. ‘nearest’:最邻近插值法. 4.三次样条数据插值三次样条数据插值 格式:yy=spline(x,y,xx). 说明:对于给定的离散的测量数据 x,y(称为断点),要寻找一个三项式 y=p(x),以逼近每对 数据(x,y)点间的曲线.该命令用三次样条插值计算出由向量 x 与 y 确定的一元函数 y=f(x)在点 xx 处的值,若参量若参量是一个矩阵,则以 y 的每一列和 x 配对,再分别计算 由它们确定的函数在点 xx 处的值.则 yy 是一阶数为 length(xx)*size(y,2)的矩阵. [例 1.100] 对离散地分布在 y=exsinx 函数曲线上的数据点进行样条插值计算. >> x=[0 2 4 5 6 12 12.8 17.2 19.9 20]; >> y=exp(x).*sin(x); >> xx=0:.25:20; >> yy=spline(x,y,xx); >> plot(x,y,'o',xx,yy) 插值图形结果如图所示:6。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.