matlab4插值与拟合.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab4插值与拟合

1. 多项式拟合 x0=0:0.1:1; y0=[-.447 1.978 3.11 5.25 5.02 4.66 4.01 4.58 3.45 5.35 9.22]; p=polyfit(x0,y0,3) p = 56.6915 -87.1174 40.0070 -0.9043 poly2str(p,x) xx=0:0.01:1; yy=polyval(p,xx); plot(xx,yy,-b,x0,y0,or) 2.插值 插值的定义——是对某些集合给定的数据点之间函数的估值方法。 当不能很快地求出所需中间点的函数时,插值是一个非常有价值的工具。 Matlab提供了一维、二维、 三次样条等许多插值选择 table1 —— table2 —— intep1 —— interp2 —— spline —— 利用已知点确定未知点 粗糙—— 精确 集合大的—— 简化的 二维数据插值 在MATLAB中,提供了解决二维插值问题的函数interp2,其调用格式为: Z1=interp2(X,Y,Z,X1,Y1,method) 其中X,Y是两个向量,分别描述两个参数的采样点,Z是与参数采样点对应的函数值,X1,Y1是两个向量或标量,描述欲插值的点。Z1是根据相应的插值方法得到的插值结果。 method的取值与一维插值函数相同。X,Y,Z也可以是矩阵形式。 同样,X1,Y1的取值范围不能超出X,Y的给定范围,否则,会给出“NaN”错误,若X维数为1*n, Y维数为1*m,则Z的维数必须是m*n. 例如1某实验对一根长10米的钢轨进行热源的温度传播测试。用x表示测量点0:2.5:10(米),用h表示测量时间0:30:60(秒),用T表示测试所得各点的温度(℃)。试用线性插值求出在一分钟内每隔20秒、钢轨每隔1米处的温度TI。 命令如下: x=0:2.5:10; h=[0:30:60]; T=[95,14,0,0,0;88,48,32,12,6;67,64,54,48,41]; xi=[0:10]; hi=[0:20:60]; TI=interp2(x,h,T,xi,hi) mesh(xi,hi,TI) surfc(x,h,T) 例2 某观测站测得某日6:00时至18:00时之间每隔2小时的室内外温度(℃),用3次样条插值分别求得该日室内外6:30至17:30时之间每隔2小时各点的近似温度(℃)。 设时间变量h为一行向量,温度变量t为一个两列矩阵,其中第一列存放室内温度,第二列储存室外温度。命令如下: h =6:2:18; t=[18,20,22,25,30,28,24;15,19,24,28,34,32,30]; XI =6.5:2:17.5 YI=interp1(h,t,XI,‘spline’) %用3次样条插值计算 3.曲线拟合 在MATLAB中,用polyfit函数来求得最小二乘拟合多项式的系数,再用polyval函数按所得的多项式计算所给出的点上的函数近似值。 polyfit函数的调用格式为: [P,S]=polyfit(X,Y,m) 函数根据采样点X和采样点函数值Y,产生一个m次多项式P及其在采样点的误差向量S。其中X,Y是两个等长的向量,P是一个长度为m+1的向量,P的元素为多项式系数。 polyval函数的功能是按多项式的系数计算x点多项式的值,将在6.5.3节中详细介绍。 已知数据表[t,y],试求2次拟合多项式p(t),然后求ti=1,1.5,2,2.5,…,9.5,10各点的函数近似值。 为了完成这样的任务,需要构造一个比较简单的函数 ,使函数在观测点的值等于已知的值,或使函数在该点的导数值等于已知的值,寻找这样的函数 有很多方法。根据测量数据的类型有以下两类处理观测数据的方法。 (1)测量值是准确的,没有误差,一般用插值。 (2)测量值与真实值有误差,一般用曲线拟合。 在MATLAB中,无论是插值还是拟合,都有相应的函数来处理。 一、插??????? 值 1、一维插值: 已知离散点上的数据集 ,即已知在点集X= 上的函数值Y= ,构造一个解析函数(其图形为一曲线)通过这些点,并能够求出这些点之间的值,这一过程称为一维插值。 MATLAB命令:yi=interp1(X, Y, xi, method) 该命令用指定的算法找出一个一元函数 ,然后以 给出 处的值。xi可以是一个标量,也可以是一个向量,是向量时,必须单调,method可以下列方法之一: ‘nearest’:最近邻点插值,直接完成计算;????????? ‘spline’:三次样条函数插值; ‘linear’:线性插值(缺省方式),直接完成计算;??? ‘cubic’:三次函数插值; 对于[min{xi},max{xi}]

文档评论(0)

liudao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档