插值与拟合[实验].pptVIP

  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文档。上传文档
查看更多
第六讲 插值与拟合实验 * * 第一节 插值试验 一、一维插值 ? ? ? ? ? ? 已知n+1个节点( xj , yj ) (j = 0, 1, ...,n), 其中xj 互不相同, 不妨设a=x0x1…xn=b,求任意插值点x*处的插值 y*. 1、基本原理: ? ? ? ? ? ? 具体的构造一个(相对简单的)函数 y=f (x),通过全部节点,即 f ( xj )=yj (j=0,1,…,n) 再用f (x)计算插值,即 y*=f (x*). 已知函数 f (x) 在n+1个点x0 , x1, …, xn处的函数值为 y0 ,y1, ,…,yn.求一n次多项式函数Pn(x),使其满足: Pn (xi)=y i , i=0,1,…,n. 则拉格朗日插值多项式公式为: 其中Li(x)为n次多项式: (1)拉格朗日(Lagrange)插值法 2、插值方法: 两点一次(线性)插值多项式: 三点二次(抛物)插值多项式: 称为拉格朗日插值基函数。特别的: 采用拉格朗日多项式插值:选取不同插值节点个数n+1, 其中n为插值多项式的次数,当n分别取2,4,6,8,10时,绘出 插值结果图形. 【例 1】 Matlab程序: ch601.m (2)分段线性插值 ? ? ? ? ? ? xj xj-1 xj+1 x0 xn x o y 用分段线性插值法求插值,并观察插值误差. 1.在[-6,6]中平均选取5个点作插值(xch11) 4.在[-6,6]中平均选取41个点作插值(xch14) 2.在[-6,6]中平均选取11个点作插值(xch12) 3.在[-6,6]中平均选取21个点作插值(xch13) 【例 2】 Matlab程序: ch602.m ch603.m ch604.m ch605.m 比分段线性插值更光滑。 ? ? ? ? ? ? ? ? ? x y xi-1 xi a b 在数学上,光滑程度的定量描述是:函数(曲线)的k 阶导数存在且连续,则称该曲线具有k阶光滑性。 光滑性的阶次越高,则越光滑。是否存在较低次的分 段多项式达到较高阶光滑性的方法?三次样条插值就是一 个很好的例子。 (3)三次样条插值 用三次样条插值选取11个基点计算插值 【例 3】 Matlab程序: ch606.m x0=linspace(-5,5,11); y0=1./(1+x0.^2); x=linspace(-5,5,100); y=interp1(x0,y0,x,spline); x1=linspace(-5,5,100); y1=1./(1+x1.^2); plot(x1,y1,k,x0,y0,+,x,y,r); yi= interp1 (x,y, xi,method) 插值方法 被插值点 插值节点 xi处的插值结果 ‘nearest’ :最邻近插值 ‘linear’ : 线性插值; ‘spline’ : 三次样条插值; ‘cubic’ : 立方插值。 缺省时: 分段线性插值。 注意:所有的插值方法都要求x是单调的,并且xi不能够 超过x的范围。 3、用MATLAB做一维插值 在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,temps,+,h,t,hours,temps,r:) %作图 xlabel(Hour),ylabel(Degrees Celsius’) Matlab程序: ch607.m 【例 4】 机翼下轮廓线 已知飞机下轮廓线上数据如下,求x每改变0.1时的y值。 【例 5】 16 10 12 18 20 21 20 17 12 0 Y 15 14 13 12 11 9 7 5 3 0 X x0=[0 3 5 7 9 11 12 13 14 15 ]; y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6 ]; x=0:0.1:15; y1=lagr1(x0,y0,x); y2=interp1(x0,y0,x); y3=interp1(x0,y0,x,spline); subplot(3,1,1) plot(x0,y0,k+,x,y1,r) grid title(lagrange) subplot(

文档评论(0)

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

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

1亿VIP精品文档

相关文档