LAB02_多项式插值计算及其收敛性实验.docVIP

LAB02_多项式插值计算及其收敛性实验.doc

  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文档。上传文档
查看更多
LAB02_多项式插值计算及其收敛性实验

Lab02.angrage插值法和Newton插值法以两者之间的异同,能用Matlab语言编写按Langrage插值法和Newton插值法计算插值的程序; 2.用所编写的程序进行插值计算、验证Runge现象、分析插值多项式的收敛性; 3.使学生深入理解教材介绍的两种分段低次插值法,熟悉掌握函数interp1的使用; 4.使用函数interp1用不同方法进行插值计算,对教材介绍的几种分段低次插值法进行分析比较。 【实验内容】 1.根据Matlab语言特点,描述Langrage插值法和Newton插值法。 2.用Matlab语言编写按Langrage插值法和Newton插值法计算插值的程序。 3.对,分别取3个,5个、9个、11个等距节点,用所编写的程序进行插值计算并画图,以验证Runge现象、分析插值多项式的收敛性。 4.用函数interp1,对,用n=11个节点(等分)作分段线性插值、分段Hermit插值和三次样条插值,用m=101个插值点(等分)作图,比较结果。 【实验仪器与软件】 1.CPU主频在1GHz以上,内存在128Mb以上的PC; 2.Matlab 6.0及以上版本。 实验讲评: 实验成绩: 评阅教师: 200 年 月 日 Lab02.知插值函数的节点的函数值,定义基函数根据插值基函数可以确定。由此可以求出Langrage插值函数。 Newton插值描述: 由插值条件插值函数为,通过线性插值、均差可确定。即:由此递推下去可得。最后得到newton插值公式为其中根据均差表可以把均差表示为:,表示第i行第j列的均差值。例、 二、算法程序 lagrange: function y=lagrange(x0,y0,x) if (length(x0)==length(y0)) n=length(x0); else disp(x0y0维数不相等!); return; end m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); end end s=p*y0(k)+s; end y(i)=s; end newton function f=newton(x,y,x0) syms t; if (length(x)==length(y)) n=length(x); c(1:n)=0.0; else disp(xyμ维数不相等!); return; end f=y(1); y1=0; p=1; for i=1:n-1 for j=i+1:n y1(j)=(y(j)-y(i))./(x(j)-x(i)); end c(i)=y1(i+1); p=p*(t-x(i)); f=f+c(i)*p; simplify(f); y=y1; end if(i==n-1) if(nargin == 3) f = subs(f,t,x0); else f = collect(f); f = vpa(f, 6); end end end 三、插值计算 2、lagrange插值取3个等距节点进行插值计算 clear all clc x0=linspace(-5,5,3); y0=1./(1+x0.^2); x=-5:0.1:5; y=1./(1+x.^2); y1=lagrange(x0,y0,x); plot(x,y,r,x,y1,b) newton插值取3个等距节点进行插值计算 clear all clc x0=linspace(-5,5,3); y0=1./(1+x0.^2); x=-5:0.1:5; y=1./(1+x.^2); y1=newton(x0,y0,x); plot(x,y,r,x,y1,b) lagrange插值取5个等距节点进行插值计算 clear all clc x0=linspace(-5,5,5); y0=1./(1+x0.^2); x=-5:0.1:5; y=1./(1+x.^2); y1=lagrange(x0,y0,x); plot(x,y,r,x,y1,b) newton插值取5个等距节点进行插值计算 clear all clc

文档评论(0)

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

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

1亿VIP精品文档

相关文档