Neville算法MATLAB實現

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章