用MATLAB进行数据插值.ppt

  1. 1、本文档共107页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

在MATLAB中编程实现向后牛顿插值法函数为:Newtonback。功能:求已知数据点的向前牛顿插值法多项式;调用格式:f=Newtonback(x,y)或f=Newtonback(x,y,x0)。其中,x为已知数据点的x坐标向量;y为已知数据点的y坐标向量;x0为插值点的x坐标;f为求得的向前牛顿插值法多项式或x0处的插值。第96页,共107页,2024年2月25日,星期天functionf=Newtonback(x,y,x0)%求已知数据点的向后差分牛顿插值多项式%已知数据点的x坐标向量:x%已知数据点的y坐标向量:y%为插值点的x坐标:x0%求得的向前差分牛顿插值多项式或x0处的插值:fsymst;if(length(x)==length(y))n=length(x);c(1:n)=0.0;elsedisp('x和y的维数不相等!');return;end第97页,共107页,2024年2月25日,星期天f=y(n);y1=0;xx=linspace(x(1),x(n),(x(2)-x(1)));if(xx~=x)disp('节点之间不是等距的!');return;endfor(i=1:n-1)for(j=i+1:n)y1(j)=y(j)-y(j-1);endc(i)=y1(n);l=t;for(k=1:i-1)l=l*(t+k);end;f=f+c(i)*l/factorial(i);simplify(f);y=y1;if(i==n-1)if(nargin==3)f=subs(f,'t',(x0-x(n))/(x(2)-x(1)));elsef=collect(f);f=vpa(f,6);endendend第98页,共107页,2024年2月25日,星期天例5根据下表的数据点求出其差分形式的牛顿插值多项式,并计算当x=1.55时y的值。解:>>x=[11.21.41.61.8];>>y=[0.84150.9320 0.98540.99960.9738];>>f=Newtonforward(x,y)f=.841500+.108025*t-.169042e-1*t^2-.675000e-3*t^3+.541667e-4*t^4>>f=Newtonforward(x,y,1.55)f=0.9998f=Newtonback(x,y)f=.973800-.457417e-1*t-.198042e-1*t^2+.191667e-3*t^3+.541667e-4*t^4>>f=Newtonback(x,y,1.55)f=0.9998x11.21.41.61.8y0.84150.93200.98540.99960.9738第99页,共107页,2024年2月25日,星期天Hermite插值Hermite插值满足在节点上等于给定函数值,而且在节点上的导数值也等于给定的导数值。对于高阶导数的情况,Hermite插值多项式比较复杂,在实际中,常常遇到的是函数值与一阶导数给定的情况。在此情况下,n个节点x1,x2,…,xn的Hermite插值多项式的表达式如下:其中,,,第100页,共107页,2024年2月25日,星期天在MATLAB中编程实现Hermite插值法函数为:Hermite。功能:求已知数据点的Hermite插值法多项式;调用格式:f=Hermite(x,y,y_1)或f=Hermite(x,y,y_1,x0)。其中,x为已知数据点的x坐标向量;y为已知数据点的y坐标向量;

文档评论(0)

努力奋斗的小玲 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档