对于一个函数,有时我们我们并不知道这个函数本身,知道的只是一些点,但是我们还想近似的描绘出函数,那么这时我们就要用到插值了,当然仅通过一些点就想得到函数的具体走势还是非常困难的,通过插值得到的函数一定是通过这些已知点的,所以插值可以说是一种近似,来近似的反应未知函数的走势。
插值的类型有很多种,Lagrange插值便是其中之一
考虑特殊的n次多项式:
记
则
它满足
则Lagrange插值多项式为(其中已知)
function f=lan(a,b)
syms x
n=length(a);
f=0;
for i=1:n
g=1;
L=1;
for j=1:n
if j~=i
g=g*(x-a(j));
L=L*(a(i)-a(j));
end
end
f=f+g/L*b(i);
end
f=expand(f);
disp(f);
>> a=[1,2,4];%自变量
>> b=[8,1,5];%因变量
>> lan(a,b)
3*x^2 - 16*x + 21
ans =
3*x^2 - 16*x + 21