c实验报告:牛顿差值多项式&三次样条问题:在区间[-1,1]上分别取n=10、20用两组等距节点对龙格函数21()25fxx作多项式插值及三次样条插值,对每个n值,分别画出插值函数及()fx的图形
实验目的:通过编程实现牛顿插值方法和三次样条方法,加深对多项式插值的理解
应用所编程序解决实际算例
实验要求:1.认真分析问题,深刻理解相关理论知识并能熟练应用;2.编写相关程序并进行实验;3.调试程序,得到最终结果;4.分析解释实验结果;5.按照要求完成实验报告
实验原理:详见《数值分析第5版》第二章相关容
实验容:(1)牛顿插值多项式1
1当n=10时:在Matlab下编写代码完成计算和画图
结果如下:代码:clearallclcx1=-1:0
2:1;y1=1
/(1+25
^2);n=length(x1);f=y1(:);forj=2:nfori=n:-1:jf(i)=(f(i)-f(i-1))/(x1(i)-x1(i-j+1));endendsymsFxp;F(1)=1;p(1)=y1(1);fori=2:nF(i)=F(i-1)*(x-x1(i-1));p(i)=f(i)*F(i);end
csymsPP=sum(p);P10=vpa(expand(P),5);x0=-1:0
001:1;y0=subs(P,x,x0);y2=subs(1/(1+25*x^2),x,x0);plot(x0,y0,x0,y2)gridonxlabel('x')ylabel('y')P10即我们所求的牛顿插值多项式,其结果为:P10(x)=-220
94*x^10+494
91*x^8-9
5065e-14*x^7-381
43*x^6-8
504e-14*x^5+123
36*x^4+2
0202e-1