(3)以y=sin(x)为例, 取[-pi,
pi], 节点为X=-pi:0.1:pi, Y=sin(X), 画出Lagrange插值多项式的图像和被插值函数的图像。 作者: lvyanlong 时间: 2013-10-18 19:31
function f = Lagrange( x,y,x0 )
%求已知结点的拉格朗日插值多项式
%已知结点的坐标向量x、y
%插值点坐标x0
%得多项式f或在x0点的插值
if ( length(x) == length(y) )
n = length(x);
else
disp('x,y are not same degree');
return;
end
syms t;
f = 0.0;
for i = 1:n
l=y(i);
for j=1:i-1
l=l*(t-x(j))/(x(i)-x(j));
end;
for j=i+1:n
l=l*(t-x(j))/(x(i)-x(j));
end;
f=f+l;
simplify(f);
if(i==n)
if(nargin==3)
f=subs(f,'t',x0);
else
f=collect(f);
f=vpa(f,4); %系数取小数四位精度
end
end
end