拉格朗日插值法
function yy=lagrange(x,y,xx)% Lagrange 插值
% yy=lagrange(x,y,xx)求数据(x,y)所表达的函数在插值点xx处的插值
% 要求x,y为同维数向量
%例如 数据
% x | 0.10.20.15 0.0-0.2 0.3
% --|------------------------------
% y | 0.95 0.84 0.86 1.06 1.50 0.72
% 求解
% clear;close;
% x=;
% y=;
% xi=-0.2:0.01:0.3;
% yi=lagrange(x,y,xi);
% plot(x,y,'o',xi,yi,'k');
% title('lagrange');
% L.J. Hu 8-20-1998
m=length(x);n=length(y);
if m~=n, error('向量x与y的长度必须一致');end
s=0;
for i=1:n
t=ones(1,length(xx));
for j=1:n
if j~=i,
t=t.*(xx-x(j))/(x(i)-x(j));
end
end
s=s+t*y(i);
end
yy=s;
页:
[1]