1、数 值 逼 近 课 程 设 计 报 告 作业 一 多项式插值的 Runge 现象 对于 Runge 函数 f(x)= ,在 -1,1上作等距节点插值,分别取 n=4,n=8,n=12,编出程序,画出此插值的图像。 程序代码 (matlab实现 ): lagrange.m function y=lagrange(x0,y0,x) ii=1:length(x0);y=zeros(size(x); for i=ii ij=find(ii=i);y1=1; for j=1:length(ij),y1=y1.*(x-x0(ij(j); end y=y+y1*y0(i)/prod(x0(i)-x0(ij)
2、; end runge.m function runge(m1,m2,m3) x1=-1+2*0:m1/m1; y1=1./(1+25*x1.2); x=-1:0.01:1; y4=lagrange(x1,y1,x); x2=-1+2*0:m2/m2; y2=1./(1+25*x2.2); x=-1:0.01:1; y5=lagrange(x2,y2,x); x3=-1+2*0:m3/m3; y3=1./(1+25*x3.2); x=-1:0.01:1; y6=lagrange(x3,y3,x); x=-1:0.01:1; y=1./(1+25*x.2); plot(x,y,k-,x,y4,r-,x,y5,b-.,x,y6,m:) legend(原函数 ,n=4,n=8,n=12) 三 、 运行结果(运行过程): 输入 runge(4,8,12),可得插值图像: