数值计算(三)-插值法(2)牛顿插值法
拉格朗日插值法每当节点增加或者减少时,其对应的插值基函数都是需要重新构造,所以在实际计算时非常不方便,因此出现了一种新的插值法: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−xkf[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−xkf[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−xkf[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!1f(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)!1f(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!1t(t−1)Δ2f(x0)+...n!1t(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插值法哦!)
数值计算(三)-插值法(2)牛顿插值法相关推荐
- 【数值分析】拉格朗日插值法与牛顿插值法的C++实现
数值分析--拉格朗日插值法与牛顿插值法的C++实现 文章目录 数值分析--拉格朗日插值法与牛顿插值法的C++实现 一.插值法 1.1 插值法定义 1.2 插值多项式唯一性定理 二.拉格朗日(Lagra ...
- 拉格朗日插值的优缺点_拉格朗日插值法与牛顿插值法的比较
第 1 页 共 7 页 拉格朗日插值法与牛顿插值法的比较 [ 摘 要 ] 在生产和科研中出现的函数是多样的.对于一些函数很难找出其解析表达式.即使在某些情况下,可以写出函 数的解析表达式,但由于解析表 ...
- 拉格朗日插值的优缺点_拉格朗日插值的优缺点_拉格朗日插值法与牛顿插值法的比较...
第 1 页 共 7 页 拉格朗日插值法与牛顿插值法的比较 [ 摘 要 ] 在生产和科研中出现的函数是多样的.对于一些函数很难找出其解析表达式.即使在某些情况下,可以写出函 数的解析表达式,但由于解析表 ...
- 【数学建模笔记】【第三讲】拉格朗日插值法,牛顿插值法,分段三次埃尔米特插值法及其MATLAB实践
温馨提示:本文共有3748字,阅读并理解全文大概需要15-20分钟 插值算法 一.插值法的定义 1.插值函数一共有三种: 2.多项式插值法原理 3.分段插值法原理: 4.具体如何求插值函数呢? (1) ...
- 拉格朗日插值的优缺点_拉格朗日与牛顿插值法的比较
第 1 页 共 7 页 拉格朗日插值法与牛顿插值法的比较 一. 背景 在工程和科学研究中出现的函数是多种多样的.常常会遇到这样的情况:在某个实际 问题中,虽然可以断定所考虑的函数 ) ( x f 在区 ...
- 牛顿插值法及其C++实现
牛顿插值法 一.背景引入 相信朋友们,开了拉格朗日插值法后会被数学家的思维所折服,但是我想说有了拉格朗日插值法还不够,因为我们每次增加一个点都得重算所有插值基底函数,这样会增加计算量,下面我们引入牛顿 ...
- 【Python篇】拟牛顿法面面俱到(一)--牛顿插值法
感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 对商业智能BI.大数据分析挖掘.机器学习, ...
- 牛顿插值法法——Java
一.插值条件 f(x)是未知函数,所以用所求的Nn(x)的已知函数代替未知函数求解问题 牛顿插值法要满足的条件:Nn(xi)=F(Xi) 二.牛顿插值法的差值公式 n+1个交点则有, Nn(x)=f( ...
- 牛顿法的matlab实现例题,【MATLAB|MATLAB牛顿插值法例题与程序Word版】
『易坊知识库摘要_MATLAB|MATLAB牛顿插值法例题与程序Word版』x12345678y22.523.324.421.7025.228.524.825.4二.数学原理假设有n+1个不同的节点及 ...
最新文章
- C# Redis实战(六)
- 向量空间模型(Vector Space Model)的理解
- 笔试——查找重复数(杭州某准独角兽)
- 系统进入低功耗的配置
- C#使用DataContractJsonSerializer来进行JSON解析
- (王道考研计算机网络)第一章计算机网络体系结构-第二节体系结构与参考模型2:ISO/OSI模型
- JAVA爬虫实践(实践二:博客园)
- jquery 的队列queue
- python selenium--常用函数3
- (转)在NGUI使用图片文字(数字、美术字)(直接可用于UILable)
- 魏德米勒端子eplan宏_魏德米勒端子选型图册(完全版).pdf
- 基于layui 下拉多选 三级联动省市区demo
- 基于Python的拉勾网的模拟登录获取cookie
- JS字符串转数组和数组转字符串
- PowerBI强大的数据汇总能力:将几十张Excel二维表批量转换成一维表进行可视化分析
- 第二个c程序,日语208音练习
- javaScript和JQuery
- 双11,客服系统让你告别客服节前emo
- hbase+dataframe+java_Java实现Spark将DataFrame写入到HBase
- 图像的载入、显示与输出