function f=Language(x,y,x0)
%求已知数据点的拉格朗日差值多项式
%已知数据点的x坐标向量:x
%已知数据点的y坐标向量:y
%插值点的x坐标:x0
%求得的拉格朗日插值多项式:f
%x0处的插值:f0
syms t;
if(length(x)==length(y))
    n=length(x);
else 
    disp('x和y的维数不相等!');
    return;
end
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+l:n)
        l=l*(t-x(j))/(x(i)-x(j));
    end;
    f=f+l;
    simplify(f);
end
f0=subs(f,'t',x0);
        看不出错误,运行时总出现Error in ==> D:\MATLAB安装软件\toolbox\symbolic\@sym\minus.m
On line 26  ==>    X = X(ones(size(A)));
Error in ==> D:\MATLAB安装软件\work\Language.m
On line 22  ==>         l=l*(t-x(j))/(x(i)-x(j));
请高手指教一下