构造拉格朗日插值函数
function y=Lagrange_Interpolation(X,Y,x)
%%X是用于插值的x数组,Y是对应的函数值,x是输入,y是插值算出的函数值
len=length(X);
sum1=0;
for j=1:len
w(j)=1; %将lk初始置为1
w1(j)=1;
for jj=1:len
if jj ~= j %除去xk那项
w(j)=w(j)*(x-X(jj));
w1(j)=w1(j)*(X(j)-X(jj));
end
end
lk(j)=w(j)/w1(j);
sum1=sum1+lk(j)*Y(j);
end
y=sum1;
一个实际应用例子
clear
clc
format short
X=0:0.1:1;
Y=sin(X);
x=pi/6;
y=Lagrange_Interpolation(X,Y,x);