拉格朗日插值算法MATLAB实现

function yi=Lagrange(x,y,xi)
%给定一系列插值点(x,y),得到在x=xi处,拉格朗日插值多项的值yi
n=length(x);
l=ones(1,n);  %基函数

for k=1:n
    for j=1:n
        if j~=k
            l(k)=l(k)*(xi-x(j))/(x(k)-x(j));  %定义插值基函数
        end
    end
end

yi=sum(y.*l); 

拉格朗日插值原理:如何直观地理解拉格朗日插值法

你可能感兴趣的:(数值计算)