再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));怎么解释……看不太懂! L=L+l;又怎样解释
页:
[1]