- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数学建模 数学实验---插值及案例
插值在工程实践和科学实验中有着非常广泛而又
十分重要的应用,例如,信息技术中的图像重建、图
像放大中为避免图像的扭曲失真的插值补点、建筑工
程的外观设计。化学工程实验数据与模型的分析、天
文观测数据、地理信息数据的处理如(天气预报)以
及社会经济现象的统计分析等等。
插值方法在数学建模竞赛中也发挥着重要的作用,
历年很多赛题中如与图形处理有关的问题很多与插值
有关系,例如98年美国赛A题,生物组织切片的三维
插值处理,94年A题逢山开路,山体海拔高度的插值
计算, 2005年的雨量预报的评价的插值计算等。
二、基本概念
在工程实践和科学实验中,常常需要从一组实
验观测数据,揭示自变量x与因变量y之间的关系,使
所得到的近似函数与已知数据有较高的拟合精度。通
常可以采用两种方法:曲线插值和拟合.
若要求这个近似函数经过已知的所有数据点,则
称此类问题为插值问题。 (不需要函数表达式)
注:插值问题不一定得到近似函数的表达形式,仅
通过插值方法找到未知点对应的值。
四、插值方法及MATLAB求解
插值方法
选用不同类型的插值函数,逼近的效
果就不同,一般有:
拉格朗日插值 (lagrange插值)
分段线性插值
Hermite
三次样条插值。
MATLAB实现插值
MATLAB自身提供了如下内部的功能函数:
一维插值函数:interp1()
二维插值函数:intep2()
三维插值函数:interp3()
n维插值函数:intern()
用MATLAB作一维插值计算
一维插值的实现:
yi=interp1(x,y,xi,method)
xi的插 已知插值节点 需要插值节点 插值方法
值结果
‘nearest’ 最邻近插值;
注意:所有的插值方 ‘linear’ 线性插值;
法都要求x 是单调的, ‘spline’ 三次样条插值;
并且xi不能够超过x 的
‘cubic’ 立方插值;
范围.
缺省时 分段线性插值.
参数‘method’的进一步说明
‘nearest’:最近点插值,插值点处的值取与该插
值点距离最近的数据点函数值;
‘linear’:分段线性插值,用直线连接数据点,插
值点的值取对应直线上的值;
‘spline’:三次样条函数插值 ,该方法用三次样条
曲线通过数据点,插值点处的值取对应曲线上的值;
‘cubic’or‘pchip’:分段三次Hermite插值 ,确
定三次Hermite函数,根据该函数确定插值点的函数
值。
缺省时 表示分段线性插值。
例 用以上4种方法对y=cosx在[0,6]上的一维插值效果进行比较。
x=0:6;
y=cos(x);
xi=0:.25:6;
yi1=interp1(x,y,xi,nearest);
yi2=interp1(x,y,xi,linear);
yi3=interp1(x,y,xi,spline);
yi4=interp1(x,y,xi,‘pchip‘or’cubic’);
plot(x,y,ro,xi,yi1,--,xi,yi2,-,xi,yi3,k.-,xi,yi4,m:)
legend(‘原始数据’,‘最近点插值’,‘线性插值’,’样
条插值 ‘,’立方插值’)
例 从1点12点的11小时内,每隔1小时测量一次温度,
测得的温度的数值依次为:5,8,9,15,25,29,
31,30,22,25,27,24.试估计每隔1/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,temps,h,spline);
plot(hours,temp
文档评论(0)