ZCR 发表于 2012-10-16 17:52

再lagrange 插值 matlab的实现

M文件:
function L = LagrangeInterp(x,y,u)
syms t l;
if(length(x) == length(y))
    n = length(x);
else
    disp('x和y的维数不相等!');
    return;
end
L=sym(0);
for (i=1:n)
    l=sym(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;
    L=L+l;
end
simplify(L);
if(nargin == 3)
    L = subs (L,'t',u);
else
    L=collect(L);
    L = vpa(L,6);
end
其中l=l*(t-x(j))/(x(i)-x(j));怎么解释……看不太懂!

ZCR 发表于 2012-10-16 18:01

L=L+l;又怎样解释
页: [1]
查看完整版本: 再lagrange 插值 matlab的实现