.
图5-1 n?5时Nn(xk)、Sn(xk)与原始值f(xk)的对比图
n=20时,整个区间中的Nn(xk)和f(xk)以及Sn(xk)和f(xk)的对比如下面两图所示:
图5-2 n?20时Nn(xk)与原始值f(xk)的对比图
.
.
图5-3 n?20时Sn(xk)与原始值f(xk)的对比图
通过对比以上三个图可得到如下结论:
1、随着n的增大,使用Newton插值多项式会出现龙格现象(对比图5-1和图5-2中的Nn(xk))。
2、随着n的增大,三次样条插值多项式Sn(x)将越来越接近被插值的函数(对比图5-1和图5-3中的Sn(xk))。
4、根据第3问中得到的数据可以很容易的得到E(Nn)和E(Sn),它们的值如下表所示:
n值 5 20 E(Nn) 0.43269 58.2781 E(Sn) 0.42348 0.00309 当n=20时,使用Newton插值多项式出现龙格现象,其最大误差达到58.2781,而相应的三次样条插值多项式Sn(x)的最大误差仅为0.00309。可见,n越大,Newton插值越可能偏离被插值函数,而相应的三次样条插值则能更接
.
.
近于被插值函数。
x=a:(b-a)/n:b; %插值节点 y=f(x);
plot(x,y,'b') %用蓝色线作被插函数图象 hold on
z=a:(b-a)/(2*n):b; n=length(x); for j=2:n for i=n:-1:j
y(i)=(y(i)-y(i-1))/(x(i)-x(i-j+1));%计算差商 end end u=y(n); m=length(z); for j=1:m for i=n-1:-1:1
u=y(i)+u*(z(j)-x(i)); %计算牛顿插值多项式的值 v(j)=u; end u=y(n); end
plot(z,v,'r') %用红色线作牛顿插值多项式图象
hold off
.
matlab牛顿插值法三次样条插值法
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)