定理(拉格朗日插值公式):对于区间[a,b]上的某函数f(x),若已知其在点x0,…,xn处的n+1个值f(x0),…,f(xn),设
lk(x)=(xk−x0)⋯(xk−xk−1)(xk−xk+1)⋯(xk−xn)(x−x0)⋯(x−xk−1)(x−xk+1)⋯(x−xn),k=0,…,n则多项式
L(x)=k=0∑nf(xk)lk(x)
满足条件,其称为拉格朗日插值多项式
特别地,若令ω(x)=(x−x0)⋯(x−xn),则该公式可紧凑地写为
L(x)=k=0∑nω′(xk)(x−xk)ω(x)⋅f(xk)
证:
我们已知n+1个点,所以我们不妨设用一个n次函数进行拟合,即设f(x)=i=0∑naixi满足题设
分别带入这n+1个点,得到以a0,…,an为未知数的线性方程组:
Ba0a1a2⋮an=111⋮1x01x11x21⋮xn1x02x12x22⋮xn2⋯⋯⋯⋯x0nx1nx2n⋮xnna0a1a2⋮an=f(x0)f(x1)f(x2)⋮f(xn)其解为:
ai=∣B∣∣Bi∣=11⋮1x01x11⋮xn1x02x12⋮xn2⋯⋯⋯x0nx1n⋮xnn11⋮1x01x11⋮xn1⋯⋯⋯x0i−1x1i−1⋮xni−1f(x0)f(x1)⋮f(xn)x0i+1x1i+1⋮xni+1⋯⋯⋯x0nx1n⋮xnn我们考虑将∣Bi∣沿第i+1列展开
f(x)=∣B∣1i=0∑nj=0∑n(−1)i+jf(xj)xi∣Bij∣=∣B∣1i=0∑nj=0∑n(−1)i+jf(xj)xi1⋮11⋮1x01⋮xj−11xj+11⋮xn1⋯⋯⋯⋯x0i−1⋮xj−1i−1xj+1i−1⋮xni−1x0i+1⋮xj−1i+1xj+1i+1⋮xni+1⋯⋯⋯⋯x0n⋮xj−1nxj+1n⋮xnn我们拆开,先对i计算,再把(−x)i∣Bij∣单独拆进去:
f(x)=∣B∣1j=0∑n(−1)jf(xj)(i=0∑n(−x)i∣Bij∣)i=0∑n(−x)i∣Bij∣=∣Cj∣=11⋮11⋮1(−x)1x11⋮xj−11xj+11⋮xn1(−x)2x12⋮xj−12xj+12⋮xn2(−x)3x13⋮xj−13xj+13⋮xn3⋯⋯⋯⋯⋯(−x)nx1n⋮xj−1nxj+1n⋮xnn故原式化为
f(x)=∣B∣1j=0∑n(−1)jf(xj)Cj其中,B;Cj是我们熟知的Vandermonde行列式
求比之后化简,即可得到原式