科学工程计算与matlab编程6-2.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文档。上传文档
查看更多
科学工程计算与matlab编程6-2

6.2 插值 6.2.1 Lagrange插值 方法介绍 算例:给出f(x)=ln(x)的数值表, 用Lagrange计算ln(0.54)的近似值。 x=[0.4:0.1:0.8]; % 取样本点 y=log(x) ans = 0.916291,-0.693147,-0.510826,-0.356675,-0.223144 y0=lagrange(x,y,[0.54,0.55,0.78]) ans = -0.6161 -0.5978 -0.2484 y0(1)-log(0.54); %计算误差 ans = 4.352891839787265e-005 5.2.2 Hermite插值 方法介绍 不少实际问题不但要求在节点上函数值相等,而且要求一阶、二阶甚至更高阶导数值也相等,满足这一要求的插值多项式就是Hermite插值多项式。 只讨论函数值与一阶导数值均相等的Hermite插值。 MATLAB实现 % hermite.m function y=hermite(x0,y0,y1,x) n=length(x0); m=length(x); for k=1:m yy=0.0; for i=1:n h=1.0; a=0.0; for j=1:n if j~=i h=h*((x(k)-x0(j))/(x0(i)-x0(j)))^2; a=1/(x0(i)-x0(j))+a; end end yy=yy+h*((x0(i)-x(k))*(2*a*y0(i)-y1(i))+y0(i)); end y(k)=yy; end 算例:对给定数据,试构造Hermite多项式求出sin0.34的近似值。 x0=[0.3,0.32,0.35]; y0=sin(x0); y1=[0.95534,0.94924,0.93937]; format long; y=hermite(x0,y0,y1,0.34) y = 0.33348889007407 sin(0.34) %与精确值比较 ans = 0.33348709214081 y-ans ans = 5.406212721936754e-008 x=[0.3:0.005:0.35];y=hermite(x0,y0,y1,x); plot(x,y) y2=sin(x); hold on plot(x,y2,--r) 5.2.3 Runge现象 问题的提出:在应用插值多项式逼近函数时,是否插值多项式的次数越高近似效果就越好? 答案:不一定 xl=[-4:1:4]; yl=1./(1+xl.^2); xh=[-4:.5:4]; yh=1./(1+xh.^2); x0=[-5:0.1:5]; y0=1./(1+x0.^2); y0l=lagrange(xl,yl,x0); y0h=lagrange(xh,yh,x0); %绘制图形 plot(x0,y0,r) %原曲线 hold on plot(x0,y01,‘-b‘,x0,y0h,’-g’) %插值曲线 算法分析:所谓分段插值就是通过插值点用折线或低次曲线连接起来逼近原曲线。 MATLAB实现 可调用内部函数。 命令1 interp1 功能 : 一维数据插值(表格查找)。该命令对数据点之间计算内插值。它找出一元函数f(x)在中间点的数值。其中函数f(x)由所给数据决定。 格式1 yi = interp1(x,Y,xi) %返回插值向量yi,每一元素对应于参量xi,同时由向量x与Y的内插值决定。参量x指定数据Y的点。若Y为一矩阵,则按Y的每列计算。 temp=[300,400,500,600]; beta=1000*[3.33,2.50,2.00,1.67]; alpha=10000*[0.2128,0.3605,0.5324,0.7190]; ti=[321,400,571]; propty=interp1(temp,[beta,alpha],ti); [ti,propty] ans = 1.0e+003 * 0.3210 3.1557 2.4382 0.4000 2.5000 3.6050 0.5710 1.7657

文档评论(0)

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

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

1亿VIP精品文档

相关文档