- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验1插值与拟合
实验一、 数据插值与曲线拟合 【实验目的】 1.了解数据插值、曲线拟合的概念和原理。 2.掌握一维、二维的数据插值方法。 3.掌握多项式拟合方法和一般曲线拟合方法。 【实验内容】 把题目和相应的完整命令写在实验报告上。 1.数据插值有什么插值方式?曲线拟合依据的基本原理是什么?数据插值与曲线拟合有什么不同点? 2.某实验室对一根长10米的钢轨进行热源的温度在60秒内传播测试。x:表示测量点,h:测量时间,t:测量得到的温度。数据如下表 0 2.5 5 7.5 10 0 95 14 0 0 0 30 88 48 32 12 6 60 67 64 54 48 41 用线性插值求出在25秒时3.6米处钢轨的温度。 用样条插值求出在这60秒内每隔20秒,钢轨每隔1米处的温度。 【相关知识说明】 1.数据插值 问题1:某气温测量站,在某一天的早上6时至傍晚5时内,每隔1小时测量一次气温,得到下表 时刻h 6 7 8 9 10 11 12 13 14 15 16 17 气温t 8 9 11 15 25 29 31 30 22 25 27 24 试估计在h=8.2,11.5,12.1,16.7时的气温值。 类似上面,在工程测量和科学实验中,往往测量出一批数据,例如个数据,这些数据点反映了一个函数关系,然而我们并不知道的表达式是怎么样的。 数据插值的任务就是根据已测得的数据构造一个函数,使得在处,有,且在两个相邻的采样点之间,光滑过度。 数据插值的基本思路是构造一个相对简单的函数,通过全部的数据点,即。再用来计算要插值的点。 (1)一维数据插值的命令(MATLAB语言,下同) cy=interp1(x,y,cx,method) (p后面是表示一维的数字1) 其中x,y为已知的测量数据,即x=; y=。 cx是需要插值的数据。 method为可选参数,表示要用什么方式来插值: linear 线性插值[缺省] nearest 最近点插值 spline 三次样条插值 cubic 三次多项式插值 注意:x的数据必须单调,cx不能超出x的范围。 (2)二维数据插值的命令 cz=interp2(x,y,z,cx,cy,method) 各参数的意义跟上面类似。 现在我们来看怎么回答问题1,这是一维插值问题。 输入命令(%后表示注释): h=[6,7,8,9,10,11,12,13,14,15,16,17]; %也可以写作h=6:17; t=[8,9,11,15,25,29,31,30,22,25,27,24]; t1=interp1(h,t,8.2) %缺省method参数,表示线性插值 t2=interp1(h,t,11.5,spline) %三次样条插值(光滑性) t3=interp1(h,t,12.1,nearest) %最近点插值 t4=interp1(h,t,16.7,cubic) %三次多项式插值 我们也可以用一种插值方法对四个待插值点一起求解: t5=interp1(h,t,[8.2,11.5,12.1,16.7]) 大家试运行之,看结果分别是什么。 我们再来看一个问题。 问题2:有一个汽车引擎在变转速(单位为rpm)时,温度(单位为oC) 与时间(单位为s)的测量值如下: 时间 引擎速度和温度 2000rpm 3000rpm 4000rpm 1 20 110 176 2 60 180 220 3 68 240 349 4 77 310 450 5 110 405 503 请估计该引擎时间在2.6s, 转速为2500rpm时的温度。 这是二维插值问题。 r=[2000,3000,4000]; %x方向的取值 s=1:5; %y方向的取值 t=[20,110,176;60,180,220;68,240,349;77,310,450;110,405,503]; %将对应的数据排成5×3矩阵 t1=interp2(r,s,t,2500,2.6,cubic) %三次多项式插值 大家试运行之,看看结果怎么样。 假如我们需要更多更详细的插值,例如,时间每隔0.5s,转速每相差500rpm的所有插值结果,该怎么办?一个一个运用命令来插值不是办法,我们用数组一次搞定,请看下面 ri=2000:500:4000; %转速每隔500取样 si=1:0.5:5; %时间每隔0.5取样 t1=interp2(r,s,t,ri,si,cubic) 注意si加多 , 表示转置。也可以对ri转置,而不对si转置。 目的是要反映出其中一个是行向量,另一个是列向量。 2.曲
文档评论(0)