数值计算(三)

编程入门 行业动态 更新时间:2024-10-14 02:22:10

<a href=https://www.elefans.com/category/jswz/34/1770286.html style=数值计算(三)"/>

数值计算(三)

拉格朗日插值法每当节点增加或者减少时,其对应的插值基函数都是需要重新构造,所以在实际计算时非常不方便,因此出现了一种新的插值法:Newton插值法。

均差

在学习Newton插值法之前时,先了解一个概念:均差

均差定义

设函数 f f f在 n + 1 n+1 n+1个不同节点 x 0 , x 1 . . . x n \large x_0,x_1...x_n x0​,x1​...xn​上的值为 f ( x 0 ) , f ( x 1 ) . . . f ( x n ) \large f(x_0),f(x_1)...f(x_n) f(x0​),f(x1​)...f(xn​)分别称:

f [ x k ] = f ( x k ) \large f[x_k]=f(x_k) f[xk​]=f(xk​)为 f f f在 x k \Large \large x_k xk​上的零阶均差

f [ x k , x k + 1 ] = f [ x k + 1 ] − f [ x k ] x k + 1 − x k \large f[x_k,x_{k+1}]=\Large \frac{f[x_{k+1}]-f[x_k]}{x_{k+1}-x_k} f[xk​,xk+1​]=xk+1​−xk​f[xk+1​]−f[xk​]​为 x k , x k + 1 \large x_k,x_{k+1} xk​,xk+1​上的一阶均差

f [ x k , x k + 1 , x k + 2 ] = f [ x k + 1 , x k + 2 ] − f [ x k , x k + 1 ] x k + 2 − x k \large f[x_k,x_{k+1},x_{k+2}]=\Large \frac{f[x_{k+1},x_{k+2}]-f[x_k,x_{k+1}]}{x_{k+2}-x_k} f[xk​,xk+1​,xk+2​]=xk+2​−xk​f[xk+1​,xk+2​]−f[xk​,xk+1​]​为 x k , x k + 1 , x k + 2 \large x_k,x_{k+1},x_{k+2} xk​,xk+1​,xk+2​上的二阶均差

因此对于一般形式为:

f [ x k , x k + 1 . . . x k + j ] = f [ x k + 1 . . . x k + j ] − f [ x k . . . x k + j − 1 ] x k + j − x k \large f[x_k,x_{k+1}...x_{k+j}]=\Large\frac{f[x_{k+1}...x_{k+j}]-f[x_k...x_{k+j-1}]}{x_{k+j}-x_k} f[xk​,xk+1​...xk+j​]=xk+j​−xk​f[xk+1​...xk+j​]−f[xk​...xk+j−1​]​为 x k , x k + 1 . . . x k + j \large x_k,x_{k+1}...x_{k+j} xk​,xk+1​...xk+j​上的 j 阶 均 差 \large j阶均差 j阶均差

均差性质

(1) k k k阶均差 f [ x k , x k + 1 . . . x k + j ] \large f[x_k,x_{k+1}...x_{k+j}] f[xk​,xk+1​...xk+j​]是函数值 f ( x 0 ) , f ( x 1 ) , f ( x 2 ) . . . f ( x k ) \large f(x_0),f(x_1),f(x_2)...f(x_k) f(x0​),f(x1​),f(x2​)...f(xk​)的线性组合也就是:

f [ x k , x k + 1 . . . x k + j ] = ∑ j = 0 n f ( x i ) ( x j − x 0 ) ( x j − x 1 ) . . . ( x j − x j − 1 ) ( x j − x j + 1 ) . . . ( x j − x k ) f[x_k,x_{k+1}...x_{k+j}]=\large\sum\limits_{j=0}^n\Large \frac{f(x_i)}{(x_j-x_0)(x_j-x_1)...(x_j-x_{j-1})(x_j-x_{j+1})...(x_j-x_k)} f[xk​,xk+1​...xk+j​]=j=0∑n​(xj​−x0​)(xj​−x1​)...(xj​−xj−1​)(xj​−xj+1​)...(xj​−xk​)f(xi​)​
(2)对称性:均差对于定义的节点是对称的,即任意改变均差中节点的次序, f [ x 0 , x 1 . . . x k ] f[x_0,x_1...x_k] f[x0​,x1​...xk​]的值不变。
(3)如果 f [ x 0 , x 1 . . . x k ] f[x_0,x_1...x_k] f[x0​,x1​...xk​]是 x x x的m次多项式,那么 f [ x 0 , x 1 . . . x k , x k + 1 ] f[x_0,x_1...x_k,x_{k+1}] f[x0​,x1​...xk​,xk+1​]是 x x x的 m − 1 m-1 m−1次多项式,所以如果 f ∈ ℘ n f\in\wp_n f∈℘n​,那么 f [ x 0 , x 1 . . . x k ] f[x_0,x_1...x_k] f[x0​,x1​...xk​]恒等于零。
(4)设 f ∈ C n [ a , b ] , x j ∈ [ a , b ] , j = 0 , 1... n f\in C^n[a,b],x_j\in[a,b],j=0,1...n f∈Cn[a,b],xj​∈[a,b],j=0,1...n为相异节点,则有 f [ x 0 , x 1 . . . x k ] = 1 n ! f ( n ) ( ξ ) \large f[x_0,x_1...x_k]=\large\frac {1}{n!}f^{(n)}(\xi) f[x0​,x1​...xk​]=n!1​f(n)(ξ),其中 ξ ∈ ( a , b ) \xi \in(a,b) ξ∈(a,b).

Newton插值公式

f ( x ) \large f(x) f(x)关于节点 x 0 , x 1 , . . . , x n x_0,x_1,...,x_n x0​,x1​,...,xn​的 n n n次插值多项式为:
N n ( x ) = f ( x 0 ) + f [ x 0 , x 1 ] ( x − x 0 ) + . . . f [ x 0 , x 1 , . . . , x n ] ( x − x 0 ) ( x − x 1 ) . . . ( x − x n ) \large N_n(x)=f(x_0)+f[x_0,x_1](x-x_0)+...f[x_0,x_1,...,x_n](x-x_0)(x-x_1)...(x-x_n) Nn​(x)=f(x0​)+f[x0​,x1​](x−x0​)+...f[x0​,x1​,...,xn​](x−x0​)(x−x1​)...(x−xn​)

均差余项

R n ( x ) = f ( x ) − N n ( x ) = f [ x , x 0 , x 1 , . . . , x n ] ( x − x 0 ) ( x − x 1 ) . . . ( x − x n ) R_n(x)=f(x)-N_n(x)=f[x,x_0,x_1,...,x_n](x-x_0)(x-x_1)...(x-x_n) Rn​(x)=f(x)−Nn​(x)=f[x,x0​,x1​,...,xn​](x−x0​)(x−x1​)...(x−xn​)将其改写为微分形式:
R n ( x ) = 1 ( n + 1 ) ! f ( n + 1 ) ( ξ ( x ) ) ω n + 1 ( x ) R_n(x)=\Large \frac{1}{(n+1)!}\large f^{(n+1)}(\xi(x))\omega_{n+1}(x) Rn​(x)=(n+1)!1​f(n+1)(ξ(x))ωn+1​(x)

等距节点下的Newton插值公式

前向插值公式

假设 f ( x k ) = f ( x 0 + k h ) ( k = 0 , 1 , . . . , n ) f(x_k)=f(x_0+kh)(k=0,1,...,n) f(xk​)=f(x0​+kh)(k=0,1,...,n)已知,需求在 x = x 0 + t h , 0 < t < 1 x=x_0+th, 0<t<1 x=x0​+th,0<t<1处的近似值,插值节点取为 x 0 , x 1 , . . . , x n x_0,x_1,...,x_n x0​,x1​,...,xn​对于等距节点且顺序排列得到的插值公式为:
N x ( x 0 + t h ) = f ( x 0 ) + t Δ f ( x 0 ) + 1 2 ! t ( t − 1 ) Δ 2 f ( x 0 ) + . . . 1 n ! t ( t − 1 ) ( t − 2 ) . . . ( t − n + 1 ) Δ n f ( x 0 ) N_x(x_0+th)=f(x_0)+t\Delta f(x_0)+\frac{1}{2!}t(t-1)\Delta^2f(x_0)+...\frac{1}{n!}t(t-1)(t-2)...(t-n+1)\Delta^nf(x_0) Nx​(x0​+th)=f(x0​)+tΔf(x0​)+2!1​t(t−1)Δ2f(x0​)+...n!1​t(t−1)(t−2)...(t−n+1)Δnf(x0​)也就是所谓的

N e w t o n Newton Newton前向插值公式。此时对应的插值余项为: R n ( x ) = t ( t − 1 ) . . . ( t − n ) ( n + 1 ) ! h n + 1 f n + 1 ( ξ ) , ξ ∈ ( x 0 , x h ) R_n(x)=\Large \frac{t(t-1)...(t-n)}{(n+1)!}h^{n+1}f^{n+1}(\xi),\xi\in(x_0,x_h) Rn​(x)=(n+1)!t(t−1)...(t−n)​hn+1fn+1(ξ),ξ∈(x0​,xh​)

解释以下其中 Δ \Delta Δ的含义: Δ n f ( x k ) = f [ x k , x k − 1 , . . . , x k − n ] n ! h n \Delta^{n}f(x_k)=\LARGE\frac{f[x_k,x_{k-1},...,x_{k-n}]}{n!h^n} Δnf(xk​)=n!hnf[xk​,xk−1​,...,xk−n​]​

后向插值公式

如果将顺序的节点倒序排列后推导对应的等距插值公式就是所谓的后向插值公式:
首先补充一个符号的含义 ( n j ) = n ( n − 1 ) . . . ( n − j + 1 ) j ! (3) \begin{pmatrix}n\\j\\\end{pmatrix}\tag{3}=\frac{n(n-1)...(n-j+1)}{j!} (nj​)=j!n(n−1)...(n−j+1)​(3)

对应的后向插值公式为:
N n ( x ) = f [ x n ] + ( − 1 ) − t ( − t − 1 ) . . . ( − t − k + 1 ) 1 ! ∇ f ( x n ) + ( − 1 ) 2 − t ( − t − 1 ) . . . ( − t − k + 1 ) 2 ! ∇ 2 f ( x n ) + . . . ( − 1 ) n − t ( − t − 1 ) . . . ( − t − k + 1 ) n ! ∇ n f ( x n ) N_n(x)=f[x_n]+(-1)\Large \frac{-t(-t-1)...(-t-k+1)}{1!}\large \nabla f(x_n)+(-1)^2\Large \frac{-t(-t-1)...(-t- k+1)}{2!}\large \nabla^2f(x_n)+...(-1)^n\Large \frac{-t(-t-1)...(-t-k+1)}{n!}\large \nabla^nf(x_n) Nn​(x)=f[xn​]+(−1)1!−t(−t−1)...(−t−k+1)​∇f(xn​)+(−1)22!−t(−t−1)...(−t−k+1)​∇2f(xn​)+...(−1)nn!−t(−t−1)...(−t−k+1)​∇nf(xn​),

对应的微分余项为

R n ( x ) = t ( t + 1 ) . . . ( t + n ) ( n + 1 ! ) h n + 1 f n + 1 ( ξ ( x ) ) , ξ ( x ) ∈ ( x 0 , x n ) ; R_n(x)=\Large \frac{t(t+1)...(t+n)}{(n+1!)}h^{n+1}f^{n+1}(\xi(x)),\xi(x)\in(x_0,x_n); Rn​(x)=(n+1!)t(t+1)...(t+n)​hn+1fn+1(ξ(x)),ξ(x)∈(x0​,xn​);

用一波百度百科上的公式图:

实战

全是公式确实太过于无聊,感叹一句我太菜了呀,fw石锤了。不然上题目实战以下,看看直接会不会用,经典白嫖,拿来主义。


书上有个数据我感觉有问题,3到4过程中使用后向插值计算:1.09544-1.07238应该是0.02306,而不是书上所写的0.02307,后面的计算结果应该也需要对应的修正,我不确定是不是因为在前面计算开根号的时候,本身1.09544和1.07238就是近似处理过的数据,然后计算全程是直接使用 1.15 − 1.20 \sqrt{1.15}-\sqrt{1.20} 1.15 ​−1.20 ​得到的0.02307这个结果,不过这些都不重要,无伤大雅,方法我们已经掌握了,狂笑哈哈哈

兄弟们,你学会了吗?什么?不会?
那就再来一道练练手?

欢乐的时光总是短暂的,让我们下一次再见!!!

good good study,day day up! (study hard, improve every day)

预知后事,请听下回分解!!!!(Hermite插值法哦!)

更多推荐

数值计算(三)

本文发布于:2023-06-20 02:51:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/794982.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数值

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!