插值算法
- 在进行数据分析时,如果此时已知的数据比较少,那么在对问题进行分析时,难免会分析得不全面,这时就需要使用一些数学的方法,“模拟产生”一些新的但又比较靠谱的值来满足需求,这就是插值的作用
在实际问题中,一个函数 y = f ( x ) \boldsymbol{y=f(x)} y=f(x)往往是通过实验观测得到的,仅已知函数 f ( x ) \boldsymbol{f(x)} f(x)在某区间 [ a , b ] \boldsymbol{\left[ a,b \right]} [a,b]上一系列点上的值 y i = f ( x i ) , i = 0 , 1 , . . . , n \boldsymbol{y_i=f(x_i),i=0,1,...,n} yi=f(xi),i=0,1,...,n
当需要在这些节点 x 0 , x 1 , . . . x n \boldsymbol{\ x_0,x_1,...x_n\ } x0,x1,...xn 之间的点上的函数值时,常用较简单的、满足一定条件的函数 φ ( x i ) \boldsymbol{\ \varphi(x_i)\ } φ(xi) 去代替 f ( x ) \boldsymbol{\ f(x)\ } f(x) ,插值法是一种常用方法,其插值函数 φ ( x i ) \boldsymbol{\ \varphi(x_i)\ } φ(xi) 满足条件
φ ( x i ) = y i , i = 0 , 1 , . . . , n \boldsymbol{\ \varphi(x_i)=y_i,i=0,1,...,n} φ(xi)=yi,i=0,1,...,n
一般插值多项式
定理
设有n+1个互不相同的节点 ( x i , y i ) ( i = 0 , 1 , 2 , . . . . , n ) \boldsymbol{\left(x_i,y_i\right)\ \ \left( i=0,1,2,....,n\right)} (xi,yi) (i=0,1,2,....,n),则存在唯一的多项式: L n ( x ) = a 0 + a 1 x + a 2 x 2 + . . . + a n x n \boldsymbol{L_n(x)=a_0+a_1x+a_2x^2+...+a_nx_n} Ln(x)=a0+a1x+a2x2+...+anxn使得 L n ( x j ) = y j ( j = 0 , 1 , 2 , . . . , n ) \boldsymbol{L_n(x_j)=y_j \ \ (j=0,1,2,...,n)} Ln(xj)=yj (j=0,1,2,...,n)
- 证明
{ a 0 + a 1 x 0 + a 2 x 0 2 + . . . + a n x 0 n = y 0 a 0 + a 1 x 1 + a 2 x 1 2 + . . . + a n x 1 n = y 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 0 + a 1 x n + a 2 x n 2 + . . . + a n x n n = y n \boldsymbol{\left\{ \begin{aligned} a_0+a_1x_0+a_2x_0^2+...+a_nx_0^n=y_0 & \\ a_0+a_1x_1+a_2x_1^2+...+a_nx_1^n=y_1 & \\ .....................................................\\ a_0+a_1x_n+a_2x_n^2+...+a_nx_n^n=y_n & \\ \end{aligned} \right.} ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧a0+a1x0+a2x02+...+anx0n=y0a0+a1x1+a2x12+...+anx1n=y1.....................................................a0+a1xn+a2xn2+...+anxnn=yn
根据线性代数解矩阵方程组的知识
令 : A = [ 1 x 0 . . . x 0 n 1 x 1 . . . x 1 n . . . . . . . . . . . . 1 x n . . . x n n ] X = [ a 0 a 1 . . . a n ] Y = [ y 0 y 1 . . . y n ] \begin{gathered} 令:A=\begin{bmatrix} 1 & x_0 &...& x_0^n\\ 1 & x_1 &...& x_1^n\\ ... & ...& ... &...\\ 1 & x_n & ... &x_n^n \end{bmatrix} \quad X=\begin{bmatrix} a_0\\ a_1\\ ...\\ a_n \end{bmatrix} \quad Y=\begin{bmatrix} y_0\\ y_1\\ ...\\ y_n \end{bmatrix} \end{gathered} 令:A=⎣⎢⎢⎡11...1x0x1...xn............x0nx1n...xnn⎦⎥⎥⎤X=⎣⎢⎢⎡a0a1...an⎦⎥⎥⎤Y=⎣⎢⎢⎡y0y1...yn⎦⎥⎥⎤
方程组的矩阵形式如下: A X = Y \boldsymbol{AX=Y} AX=Y, A \boldsymbol{A}