实验八曲线拟和与插值.pptVIP

实验八曲线拟和与插值.ppt

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

实验八 曲线拟和与插值 实验目的: 1. 加深对曲线拟和与插值思想的理解. 2.学习用Matlab进行曲线拟和与插值的方法. 3.学习Matlab的各种曲线拟和与插值函数. 实验内容 一.曲线的插值(interpolation) 1.插值的一般定义 2.拉格朗日(lagrange)插值 (1)线性插值 牛顿插值公式 (2)二次插值 (3)二次插值:逐次线性插值 (4)n次插值 3.分段线性插值 4.Hermite插值 Hermit插值也叫做带指定微商值的插值,它是要构造一个插 值函数,不但在给定的节点上取已知函数值,而且取已知微商值, 使插值函数和被插函数的密合程度更好.下面用在两个点上给 定函数值和微商值构造三次插值函数为例来说明Hermit插值 过程. 5.三次样条插值 分段插值法有一个严重的缺点,就是会导致插值函数在子区间 的端点处不光滑,导数不连续.对于一些实际问题,不但要求一 阶导数连续,而且要求二阶导数连续.若用Hermit插值,则需要知 道函数f(x)在n+1个基点处的导数值.为了克服上述缺点,我们可 以使用逐段表示成低次(如三次)多项式的光滑函数S(x)作为f(x) 的插值函数,下面我们介绍三次样条插值的概念. 二.曲线拟和 当所给的数据较多时,用插值方法所得到的插值函 数会十分复杂,并且通常情况下数据一般都是由观测或 实验得到,往往带有一定的随即误差,因此要求近似函 数通过所有数据点也是不必要的,如果不要求近似函数 通过所有的数据点而只要求它能较好的反映数据的整 体变化趋势,则解决这类问题的方法称为数值拟合法, 下面主要介绍最小二乘拟合方法. 1.线性最小二乘拟合方法 2.线性最小二乘拟合方法(多变量) 非线性曲线的最小二乘拟合 一般问题中变量之间不一定是线性关系,但是可以通过变换 将非线性问题转化为线性问题.此时要注意对数据也要进行相应 的变换. 非线性曲线的最小二乘拟合 三.用Matlab解决曲线的插值和拟和问题 1.一维插值(命令:interp1) 插值定义为对实验所得数据点之间函数的估值方法,这些数 据点由实验所得。当我们不能很快地求出所需中间点的函数值 时,我们可以利用插值来做。 (1)最简单的插值示例-------Matlab作图 在用Matlab作图时, 一般情况下,Matlab用直线连接所用的相 邻的数据点以作图,即线性插值,这时我们需要计算的中间点的 函数值就落在了数据点之间的直线上。随着数据点个数的增加 和它们之间距离的减小,线性插值就更精确。 例:在 上绘制 的图形. 解:先用6个数据点绘图 x1=linspace(0,2*pi,6); y1=sin(x1); plot(x1,y1,’-o’) 下面用60个数据点绘图 x2=linspace(0,2*pi,60); y2=sin(x2); plot(x2,y2,’-o’) 我们可以看到随着数据点的增多,绘出的函数图象更加光滑,更 加精确.下面在同一窗口中绘制这两个图形. plot(x1,sin(x1),x2,sin(x2),’-o’) (2)插值方法的比较 通过下面这个例子我们来比较一下插值方法。因为 插值是一个估计或猜测的过程,其意义在于应用不同的 插值方法会出现不同的结果。 在Matlab中一维插值函数是interp1,在默认的情况 下其调用格式是interp1(x,y,x0),其中x是独立变量(横坐 标),y是应变量(纵坐标),x0是进行插值的一个数值。无 特殊说明,在默认情况下interp1(x,y,x0)为线性插值。 例:某次实验测室外温度,一个小时测量一次室外温度,在12个小时内共测得12个室外温度,见下表,根据这个表的数据做插值,估计在这12个小时内任意给定时间的温度. 解:(a).先绘图,在图上绘制这12个数据点 hours=1:12; temps=[5 8 9 15 25 29 31 30 22 25 27 24]; plot(hours,temps, hours,temps,’+’) 图中画出了数据点线性插值的直线,下面计估计任意给定时间的 温度. (b).根据线性插值估计任意给定时间的温度. t=interp1(hours,temps,9.3) %估计hours=9.3时的温度 结果:t=22.9000 练习:估计hours=4.7时的温度 t=interp1(hours,temps,[3.2 6.5 7.1 11.7]) %估计多个时刻点的温度 结果:t = 10.2000 30.0000 30

文档评论(0)

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

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

1亿VIP精品文档

相关文档