本文主要是介绍数值分析复习:Newton插值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 牛顿(Newton)插值
- 引入背景
- 插值条件
- 基函数
- 插值多项式
- 差商
- 差商的基本性质
- 差商估计
- 差商的Leibniz公式
- 余项估计
本篇文章适合个人复习翻阅,不建议新手入门使用
牛顿(Newton)插值
引入背景
Lagrange插值每引入一个新节点,就要重新计算所有基函数,计算代价大
插值条件
n+1个插值节点 x 0 , x 1 , … , x n x_0,x_1,\dots,x_n x0,x1,…,xn 处函数值相同
基函数
{ ω i ( x ) } i = 0 n \{\omega_i(x)\}_{i=0}^n {ωi(x)}i=0n,其中 ω i ( x ) = ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x i − 1 ) \omega_i(x)=(x-x_0)(x-x_1)\cdots(x-x_{i-1}) ωi(x)=(x−x0)(x−x1)⋯(x−xi−1)称之为节点多项式
插值多项式
∏ n f ( x ) = ∑ i = 0 n f [ x 0 , x 1 , … , x k ] ω k ( x ) \prod_nf(x)=\sum\limits_{i=0}^nf[x_0,x_1,\dots,x_k]\omega_k(x) n∏f(x)=i=0∑nf[x0,x1,…,xk]ωk(x)其中 f [ x 0 , x 1 , … , x k ] f[x_0,x_1,\dots,x_k] f[x0,x1,…,xk]称为 f f f 关于点 x 0 , x 1 , … , x k x_0,x_1,\dots,x_k x0,x1,…,xk的k阶牛顿差商
差商
差商的基本性质
- n阶差商为n次插值多项式的首项系数
- 差商值与节点排列顺序无关
- f [ x 0 , x 1 , … , x n ] = f ( x n ) − ∏ n − 1 f ( x n ) ω n ( x n ) = ∏ n f ( x n ) − ∏ n − 1 f ( x n ) ω n ( x n ) = ∑ i = 0 n f ( x i ) ω n + 1 ′ ( x i ) \begin{split} f[x_0,x_1,\dots,x_n]&=\frac{f(x_n)-\prod_{n-1}f(x_n)}{\omega_n(x_n)}\\ &=\frac{\prod_nf(x_n)-\prod_{n-1}f(x_n)}{\omega_n(x_n)}\\ &=\sum\limits_{i=0}^n\frac{f(x_i)}{\omega'_{n+1}(x_i)}\\ \end{split} f[x0,x1,…,xn]=ωn(xn)f(xn)−∏n−1f(xn)=ωn(xn)∏nf(xn)−∏n−1f(xn)=i=0∑nωn+1′(xi)f(xi)
- f [ x 0 , x 1 , … , x n ] = f [ x 0 , … , x n − 1 ] − f [ x 1 , … , x n ] x 0 − x n f[x_0,x_1,\dots,x_n]=\frac{f[x_0,\dots,x_{n-1}]-f[x_1,\dots,x_n]}{x_0-x_n} f[x0,x1,…,xn]=x0−xnf[x0,…,xn−1]−f[x1,…,xn]
证明思路:
第二条性质:
前两个等号容易得到;第三个等号:只需注意到
- n阶差商是n次Newton插值的首项系数
- 等式右端是Lagrange插值多项式的首项系数
- Newton插值、Lagrange插值是同一插值多项式的不同表达
- 多项式插值的唯一性(由Vandermonde行列式的性质易证)
第三条性质:归纳法可证
差商估计
f [ x 0 , x 1 , … , x n ] = f ( m ) ( ξ ) m ! f[x_0,x_1,\dots,x_n]=\frac{f^{(m)}(\xi)}{m!} f[x0,x1,…,xn]=m!f(m)(ξ)其中 ξ ∈ ( min { x i } , max { x i } ) \xi\in(\min\{x_i\},\max\{x_i\}) ξ∈(min{xi},max{xi})
证明思路:构造辅助函数 f ( x ) − ∏ n f ( x ) f(x)-\prod_nf(x) f(x)−∏nf(x),使用 n n n次Rolle中值定理
差商的Leibniz公式
设 f ( x ) = ϕ ( x ) ψ ( x ) f(x)=\phi(x)\psi(x) f(x)=ϕ(x)ψ(x),则
f [ x 0 , x 1 , … , x n ] = ∑ i = 0 n ϕ ( x 0 , … , x i ) ψ ( x i , … , x n ) f[x_0,x_1,\dots,x_n]=\sum\limits_{i=0}^n\phi(x_0,\dots,x_i)\psi(x_i,\dots,x_n) f[x0,x1,…,xn]=i=0∑nϕ(x0,…,xi)ψ(xi,…,xn)
证明思路:对 f , ϕ , ψ f,\phi,\psi f,ϕ,ψ 分别进行Newton插值即可
余项估计
R n ( x ) = f ( x ) − ∏ n f ( x ) = f [ x 0 , x 1 , … , x n , x ] ∏ i = 0 n ( x − x i ) = f [ x 0 , x 1 , … , x n , x ] ω n + 1 ( x ) \begin{split} R_n(x)&=f(x)-\prod_nf(x)\\ &=f[x_0,x_1,\dots,x_n,x]\prod\limits_{i=0}^n(x-x_i)\\ &=f[x_0,x_1,\dots,x_n,x]\omega_{n+1}(x)\\ \end{split} Rn(x)=f(x)−n∏f(x)=f[x0,x1,…,xn,x]i=0∏n(x−xi)=f[x0,x1,…,xn,x]ωn+1(x)
参考书籍:《数值分析》李庆扬 王能超 易大义 编
这篇关于数值分析复习:Newton插值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!