Neville算法MATLAB实现
初始值
计算表格
计算结果
算法伪代码
代码实现
x_input=[1.0,1.3,1.6,1.9,2.2];
neville(x_input,1.5,10^(-2));
neville(x_input,1.5,10^(-3));
neville(x_input,1.5,10^(-4));
function neville(x_input,x,eps)
m=length(x_input);
disp(m);
Q=zeros([m+1,m+1])
%初始化
Q(:,1)=[1,0.7651977,0.6200860,0.4554022,0.2818186,0.1103623];
format long
for i=2:m
for j=2:i
Q(i+1,j)=((x-x_input(i-j+1))*Q(i+1,j-1)-(x-x_input(i))*Q(i,j-1))/(x_input(i)-x_input(i-j+1));
if abs(Q(i+1,j)-Q(i,j-1))<eps
break;
end
end
end
disp(Q);
end