插值法-第二次程序题
插值法
题目1:对Runge函数在区间[-1,1]作下列插值逼近,并和R(x)的图像进行比较,并对结果进行分析。
(1)用等距节点绘出它的20次Newton插值多项式的图像。
(2)用节点,绘出它的20次Lagrange插值多项式的图像。
(3)用等距节点绘出它的分段线性插值函数的图像。
(4)用等距节点绘出它的三次自然样条插值函数的图像。
程序及分析:
用等距节点绘出它的20次Newton插值多项式的图像。
Matlab程序如下:
%计算均差
x=[-1:0.1:1];
n=length(x);
syms z
for i=1:n
y(i)=1/(1+25*x(i)*x(i));
end
N=zeros(n,n);
N(:,1)=y';
for j=2:n
for k=j:n
N(k,j)=(N(k,j-1)-N(k-1,j-1))/(x(k)-x(k-j+1));
end
end
for t=1:n
c(t)=N(t,t)
end
%构造插值多项式
f=N(1,1);
for k=2:n
a=1;
for r=1:(k-1)
a=a*(z-x(r));
end
f=f+N(k,k)*a;
end