拉格朗日插值法的MATLAB源程序

function y0=Lagrange(x,y,x0)
%给定一系列插值点(x,y),得到在x=x0处,拉格朗日插值多项的值y0
n=length(x);
l=ones(1,n);  %基函数
for k=1:n
    for j=1:n
        if j~=k
            l(k)=l(k)*(x0-x(j))/(x(k)-x(j));  %定义插值基函数
        end
    end
end
y0=sum(y.*l);   %根据拉格朗日插值多项式,求x=x0对应的值y0

你可能感兴趣的:(拉格朗日插值法的MATLAB源程序)