艾特肯(埃特金)插值法
具体理论自行搜索学习吧!
function y = AitkenInterpolation(X,Y,x)
%% 艾特肯(埃特金)(Aitken)插值计算
%输入的量: X是n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量;
% Y是纵坐标向量;
% x是以向量形式输入的m个插值点;
%输出的量: y为m个插值构成的向量.
%% 范例
% x=0:0.5:3;
% y=[0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411];
% x0=0.1:0.5:2.9;
% AitkenInterpolation(x, y, x0)
%% 检错
if(length(X) == length(Y))
n = length(X);
m = length(x);
y=x;
else
error('▲▼▲▼▲▼▲▼警报: X和Y的维数不相等▲▼▲▼▲▼▲▼▲▼');
end
%% 计算
for k=1:m
v=Y;
for i=1:n-1
for j=i+1:n
v(j)=(x(k)-X(i))/(X(j)-X(i))*v(j)+(x(k)-X(j))/(X(i)-X(j))*v(i);
end
end
y(k)=v(n);
end
end
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删