对于一个函数,有时我们我们并不知道这个函数本身,知道的只是一些点,但是我们还想近似的描绘出函数,那么这时我们就要用到插值了,当然仅通过一些点就想得到函数的具体走势还是非常困难的,通过插值得到的函数一定是通过这些已知点的,所以插值可以说是一种近似,来近似的反应未知函数的走势。
插值的类型有很多种,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