拉格朗日插值多项式 Lagrange interpolating polynomial
计算公式
Matlab教学程序
Lagrange.m
%---+----+----+----+----+----+----+----+-----
%- Lagrange interpolating polynomial
%- 拉格朗日插值多项式
%- xi 插值节点(行向量)
%- yi 插值节点函数值(行向量)
%- x 插值点(行向量)
%- y 插值函数值(行向量)
%---+----+----+----+----+----+----+----+-----
function y=Lagrange(xi,yi,x)
n=size(xi,2);
m=size(x,2);
y=zeros(1,m);
for k=1:n
lk=ones(1,m);
for jj=1:n
if(jj~=k)
lk=lk.*(x-xi(jj))/(xi(k)-xi(jj));
end
end
y=y+yi(k).*lk;
end
%---/----/----/----/----/----/----/----/-----
注:公式中插值节点索引从0开始,而Matlab程序中是从1开始。
数值分析/计算方法,宋老师