Newton插值法 | 差商 + Newton插值公式 + 插值余项

2023-10-30 20:32

本文主要是介绍Newton插值法 | 差商 + Newton插值公式 + 插值余项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Newton插值法

Aitken逐次插值法虽然具有承袭性的特点,但其插值公式是递推型的,不便于进行理论分析。为此,可以把n次插值多项式改写成升幂的形式:
N n ( x ) = c 0 + c 1 ( x − x 0 ) + c 2 ( x − x ) ( x − x 1 ) + ⋯ + c n ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x n − 1 ) (10) N_n(x)=c_0+c_1(x-x_0)+c_2(x-x)(x-x_1)+\cdots+ c_n(x-x_0)(x-x_1)\cdots(x-x_{n-1}) \tag{10} Nn(x)=c0+c1(xx0)+c2(xx)(xx1)++cn(xx0)(xx1)(xxn1)(10)
其中, c 0 , c 1 , c 2 , ⋯ , c n c_0,c_1,c_2,\cdots,c_n c0,c1,c2,,cn为待定系数。根据定理1,该多项式是惟一存在的。将插值条件
N n ( x i ) = f ( x i ) ( i = 0 , 1 , 2 , ⋯ , n ) N_n(x_i)=f(x_i) \quad (i=0,1,2,\cdots,n) Nn(xi)=f(xi)(i=0,1,2,,n)
代入(10)式中,即可以惟一确定出系数 c 0 , c 1 , c 2 , ⋯ , c n c_0,c_1,c_2,\cdots,c_n c0,c1,c2,,cn,从而得到 N n ( x ) N_n(x) Nn(x)的升幂形式。为了方便计算,在具体计算这些系数之前,先引入差商的概念。

1. 差商的定义与性质

定义3:已知顺序排列的节点 x 0 , x 1 , x 2 , ⋯ , x k − 1 , x k , ⋯ , x n x_0,x_1,x_2,\cdots,x_{k-1},x_k,\cdots,x_n x0,x1,x2,,xk1,xk,,xn所对应的函数值为 f ( x 0 ) , f ( x 2 ) , ⋯ f(x_0),f(x_2),\cdots f(x0),f(x2),

定义
f [ x 0 , x k ] = f ( x 0 ) − f ( x k ) x 0 − x k ( 1 ≤ k ≤ n ) f[x_0,x_k]=\frac{f(x_0)-f(x_k)}{x_0-x_k} \quad (1\leq k \leq n) f[x0,xk]=x0xkf(x0)f(xk)(1kn)
函数 f ( x ) f(x) f(x)在点 x 0 , x k x_0,x_k x0,xk处的一阶差商;

定义
f [ x 0 ; x 1 , x k ] = f [ x 0 , x 1 ] − f [ x 0 , x k ] x 1 − x k ( 2 ≤ k ≤ n ) f[x_0;x_1,x_k]=\frac{f[x_0,x_1]-f[x_0,x_k]}{x_1-x_k} \quad (2\leq k\leq n) f[x0;x1,xk]=x1xkf[x0,x1]f[x0,xk](2kn)
为函数 f ( x ) f(x) f(x)在点 x 0 , x 1 , x k x_0,x_1,x_k x0,x1,xk处的二阶差商;

定义
f [ x 0 , x 1 ; x 2 , x k ] = f [ x 0 ; x 1 , x 2 ] − f [ x 0 ; x 1 , x k ] x 2 − x k ( 3 ≤ k ≤ n ) f[x_0,x_1;x_2,x_k]=\frac{f[x_0;x_1,x_2]-f[x_0;x_1,x_k]}{x_2-x_k} \quad(3\leq k\leq n) f[x0,x1;x2,xk]=x2xkf[x0;x1,x2]f[x0;x1,xk](3kn)
为函数 f ( x ) f(x) f(x)在点 x 0 , x 1 , x 2 , x k x_0,x_1,x_2,x_k x0,x1,x2,xk处的三阶差商;

依此类推,定义
f [ x 0 , x 1 , ⋯ , x k − 2 ; x k − 1 , x k ] = f [ x 0 , x 1 , ⋯ ; x k − 2 , x k − 1 ] − f [ x 0 , x 1 , ⋯ ; x k − 2 , x k ] x k − 1 − x k (11) f[x_0,x_1,\cdots,x_{k-2};x_{k-1},x_k]=\frac{f[x_0,x_1,\cdots;x_{k-2},x_{k-1}]-f[x_0,x_1,\cdots;x_{k-2},x_k]}{x_{k-1}-x_k} \tag{11} f[x0,x1,,xk2;xk1,xk]=xk1xkf[x0,x1,;xk2,xk1]f[x0,x1,;xk2,xk](11)
为函数 f ( x ) f(x) f(x)在点 x 0 , x 1 , x 2 , ⋯ , x k − 1 , x k x_0,x_1,x_2,\cdots,x_{k-1},x_k x0,x1,x2,,xk1,xk处的k阶差商。

k阶差商还有另外一种定义方法,即
f [ x 0 , x 1 , ⋯ , x k − 1 , x k ] = f [ x 0 , x 1 , ⋯ , x k − 1 ] − f [ x 1 , ⋯ , x k − 1 , x k ] x 0 − x k (12) f[x_0,x_1,\cdots,x_{k-1},x_k]=\frac{f[x_0,x_1,\cdots,x_{k-1}]-f[x_1,\cdots,x_{k-1},x_k]}{x_0-x_k} \tag{12} f[x0,x1,,xk1,xk]=x0xkf[x0,x1,,xk1]f[x1,,xk1,xk](12)
(11)式为第一种格式的差商,(12)式为第二种格式的差商。两者具有完全相同的性质。

差商有如下性质:

(1)k阶差商 f [ x 0 , x 1 , ⋯ , x k ] f[x_0,x_1,\cdots,x_k] f[x0,x1,,xk]是函数值 f ( x 0 ) , f ( x 1 ) , ⋯ , f ( x n ) f(x_0),f(x_1),\cdots,f(x_n) f(x0),f(x1),,f(xn)的线性组合。即
f [ x 0 , x 1 , ⋯ , x k ] = ∑ i = 0 k f ( x i ) ( x i − x 0 ) ( x i − x 1 ) ⋯ ( x i − x i − 1 ) ⋅ ( x i − x i + 1 ) ⋯ ( x i − x k ) f[x_0,x_1,\cdots,x_k]=\sum_{i=0}^k\frac{f(x_i)}{(x_i-x_0)(x_i-x_1)\cdots (x_i-x_{i-1})·(x_i-x_{i+1})\cdots(x_i-x_k)} f[x0,x1,,xk]=i=0k(xix0)(xix1)(xixi1)(xixi+1)(xixk)f(xi)
(2)差商的值与节点的排列顺序无关。即
f [ x 0 , x 1 , ⋯ , x k ] = f [ x 1 , x 0 , ⋯ , x k ] = ⋯ = f [ x k , ⋯ , x 1 , x 0 ] f[x_0,x_1,\cdots,x_k]=f[x_1,x_0,\cdots,x_k]=\cdots=f[x_k,\cdots,x_1,x_0] f[x0,x1,,xk]=f[x1,x0,,xk]==f[xk,,x1,x0]
(3)若 f [ x , x 0 , x 1 , ⋯ , x k ] f[x,x_0,x_1,\cdots,x_k] f[x,x0,x1,,xk]是x的m次多项式,则 f [ x , x 0 , x 1 , ⋯ , x k , x k + 1 ] f[x,x_0,x_1,\cdots,x_k,x_{k+1}] f[x,x0,x1,,xk,xk+1]是x的m-1次多项式。

2.Newton插值公式

为了求出Newton插值多项式
N n ( x ) = c 0 + c 1 ( x − x 0 ) + c 2 ( x − x 0 ) ( x − x 1 ) + ⋯ + c n ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x n − 1 ) N_n(x)=c_0+c_1(x-x_0)+c_2(x-x_0)(x-x_1)+\cdots + c_n(x-x_0)(x-x_1)\cdots(x-x_{n-1}) Nn(x)=c0+c1(xx0)+c2(xx0)(xx1)++cn(xx0)(xx1)(xxn1)
的系数,将 N n ( x i ) = f ( x i ) ( i = 0 , 1 , 2 , ⋯ , n ) N_n(xi)=f(x_i)(i=0,1,2,\cdots,n) Nn(xi)=f(xi)(i=0,1,2,,n)按插值节点的顺序逐个代入上式,即:

N n ( x 0 ) = c 0 = f ( x 0 ) N_n(x_0)=c_0=f(x_0) Nn(x0)=c0=f(x0),得: c 0 = f ( x 0 ) c_0=f(x_0) c0=f(x0)

N n ( x 1 ) = f ( x 0 ) + c 1 ( x 1 − x 0 ) = f ( x 1 ) N_n(x_1)=f(x_0)+c_1(x_1-x_0)=f(x_1) Nn(x1)=f(x0)+c1(x1x0)=f(x1),得:
c 1 = f ( x 1 ) − f ( x 0 ) ( x 1 − x 0 ) = f ( x 0 ) − f ( x 1 ) ( x 0 − x 1 ) = f [ x 0 , x 1 ] c_1=\frac{f(x_1)-f(x_0)}{(x_1-x_0)}=\frac{f(x_0)-f(x_1)}{(x_0-x_1)}=f[x_0,x_1] c1=(x1x0)f(x1)f(x0)=(x0x1)f(x0)f(x1)=f[x0,x1]
N n ( x 2 ) = f ( x 0 ) + f [ x 0 , x 1 ] ( x 2 − x 0 ) + c 2 ( x 2 − x 0 ) ( x 2 − x 1 ) = f ( x 2 ) N_n(x_2)=f(x_0)+f[x_0,x_1](x_2-x_0)+c_2(x_2-x_0)(x_2-x_1)=f(x_2) Nn(x2)=f(x0)+f[x0,x1](x2x0)+c2(x2x0)(x2x1)=f(x2),得:
c 2 = f ( x 2 ) − f ( x 0 ) − f [ x 0 , x 1 ] ( x 2 − x 0 ) ( x 2 − x 0 ) ( x 2 − x 1 ) = f ( x 2 ) − f ( x 0 ) ( x 2 − x 0 ) − f [ x 0 , x 1 ] ( x 2 − x 1 ) = f [ x 0 , x 1 ] − f [ x 0 , x 2 ] ( x 1 − x 2 ) = f [ x 0 , x 1 , x 2 ] c_2=\frac{f(x_2)-f(x_0)-f[x_0,x_1](x_2-x_0)}{(x_2-x_0)(x_2-x_1)}=\frac{\frac{f(x_2)-f(x_0)}{(x_2-x_0)}-f[x_0,x_1]}{(x_2-x_1)}=\frac{f[x_0,x_1]-f[x_0,x_2]}{(x_1-x_2)}=f[x_0,x_1,x_2] c2=(x2x0)(x2x1)f(x2)f(x0)f[x0,x1](x2x0)=(x2x1)(x2x0)f(x2)f(x0)f[x0,x1]=(x1x2)f[x0,x1]f[x0,x2]=f[x0,x1,x2]
依次类推,可由差商的定义和数学归纳法得出全部系数,即:
c k = f [ x 0 , x 1 , ⋯ , x k ] , ( k = 0 , 1 , 2 , ⋯ , n ) c_k=f[x_0,x_1,\cdots,x_k], \quad(k=0,1,2,\cdots,n) ck=f[x0,x1,,xk],(k=0,1,2,,n)
这样就得到了Newton插值公式:
N n ( x ) = f ( x 0 ) + f [ x 0 , x 1 ] ( x − x 0 ) + f [ x 0 ; x 1 , x 2 ] ( x − x 0 ) ( x − x 1 ) + ⋯ + f [ x 0 , x 1 , ⋯ , x n ] ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x n − 1 ) N_n(x)=f(x_0)+f[x_0,x_1](x-x_0)+f[x_0;x_1,x_2](x-x_0)(x-x_1)+\cdots+f[x_0,x_1,\cdots,x_n](x-x_0)(x-x_1)\cdots(x-x_{n-1}) Nn(x)=f(x0)+f[x0,x1](xx0)+f[x0;x1,x2](xx0)(xx1)++f[x0,x1,,xn](xx0)(xx1)(xxn1)
用Newton插值法构造插值多项式,只需计算各个节点间的各阶差商即可。由于各阶差商的计算具有递推规律。因此,将各阶差商排列在一起,组成差商表。第一种、第二种格式的差商表分别见下表:

在这里插入图片描述

3. 插值余项

如果把插值点x看成是 [ a , b ] [a,b] [a,b]上的一固定点,由一阶差商定义,有:
f ( x ) = f ( x 0 ) + f [ x 0 , x ] ( x − x 0 ) f(x)=f(x_0)+f[x_0,x](x-x_0) f(x)=f(x0)+f[x0,x](xx0)
由二阶差商定义,有:
f [ x 0 , x ] = f [ x 0 , x 1 ] + f [ x 0 ; x 1 , x ] ( x − x 1 ) f[x_0,x]=f[x_0,x_1]+f[x_0;x_1,x](x-x_1) f[x0,x]=f[x0,x1]+f[x0;x1,x](xx1)
由三阶差商定义,有:
f [ x 0 ; x 1 , x ] = f [ x 0 ; x 1 , x 2 ] + f [ x 0 , x 1 ; x 2 , x ] ( x − x 2 ) f[x_0;x_1,x]=f[x_0;x_1,x_2]+f[x_0,x_1;x_2,x](x-x_2) f[x0;x1,x]=f[x0;x1,x2]+f[x0,x1;x2,x](xx2)
依次类推,有:
f [ x 0 , x 1 , ⋯ , x n − 1 , x ] = f [ x 0 , x 1 , ⋯ , x n ] + f [ x 0 , x 1 , ⋯ ; x n , x ] ( x − x n ) f[x_0,x1,\cdots,x_{n-1},x]=f[x_0,x_1,\cdots,x_n]+f[x_0,x_1,\cdots;x_n,x](x-x_n) f[x0,x1,,xn1,x]=f[x0,x1,,xn]+f[x0,x1,;xn,x](xxn)
将后一等式逐项代入前一等式,得:
f ( 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 − 1 ) + f [ x 0 , x 1 , ⋯ ; x n , x ] ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x n ) = N n ( x ) + R n ( x ) f(x)=f(x_0)+f[x_0,x_1](x-x_0)+\cdots+f[x_0,x_1,\cdots,x_n](x-x_0)(x-x_1)\cdots(x-x_{n-1}) + f[x_0,x_1,\cdots;x_n,x](x-x_0)(x-x_1)\cdots(x-x_n) \\ =N_n(x)+R_n(x) f(x)=f(x0)+f[x0,x1](xx0)++f[x0,x1,,xn](xx0)(xx1)(xxn1)+f[x0,x1,;xn,x](xx0)(xx1)(xxn)=Nn(x)+Rn(x)
其中,
R n ( x ) = f [ x 0 , x 1 , ⋯ , x n , x ] ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x n ) R_n(x)=f[x_0,x_1,\cdots,x_n,x](x-x_0)(x-x_1)\cdots(x-x_n) Rn(x)=f[x0,x1,,xn,x](xx0)(xx1)(xxn)
称为Newton插值的余项。

由于对相同插值节点,插值多项式是惟一的,所以,Newton插值多项式与Lagrange插值多项式是等价的。同样,两者的余项也是等价的。因此,当 f ( n + 1 ) ( x ) f^{(n+1)}(x) f(n+1)(x)存在时,有:

f [ x 0 , x 1 , ⋯ , x n , x ] = f ( n + 1 ) ( ξ ) ( n + 1 ) ! f[x_0,x_1,\cdots,x_n,x]=\frac{f^{(n+1)}(\xi)}{(n+1)!} f[x0,x1,,xn,x]=(n+1)!f(n+1)(ξ)

这篇关于Newton插值法 | 差商 + Newton插值公式 + 插值余项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/310421

相关文章

文华财经T8自动化交易程序策略模型指标公式源码

文华财经T8自动化交易程序策略模型指标公式源码: //定义变量 //资金管理与仓位控制 8CS:=INITMONEY;//初始资金 8QY:=MONEYTOT;//实际权益 8QY1:=MIN(MA(8QY,5*R),MA(8QY,2*R)); FXBL:=N1; DBKS:8QY1*N1;//计算单笔允许亏损额度 BZDKS:=MAX(AA-BB,N*1T)*UNIT; SZDKS:=MAX(

智能优化算法改进策略之局部搜索算子(三)—二次插值法

1、原理介绍 多项式是逼近函数的一种常用工具。在寻求函数极小点的区间(即寻查区间)上,我们可以利用在若干点处的函数值来构成低次插值多项式,用它作为求极小点的函数的近似表达式,并用这个多项式的极小点作为原函数极小点的近似。低次多项式的极小点比较容易计算。常用的插值多项式为二次或三次,一般说来三次插值公式的收敛性好一些,但在导数不变计算时,三点二次插值也是一种常用的方法[1]。 3

深度学习常见概念解释(四)——损失函数定义,作用与种类(附公式和代码)

损失函数 前言定义作用种类1. 均方误差损失(Mean Squared Error Loss,MSE)公式特点和优点缺点使用场景示例代码在机器学习框架中的使用总结 2. 交叉熵损失(Cross-Entropy Loss)公式特点和优点使用场景示例代码在机器学习框架中的使用总结 总结 前言 在机器学习和深度学习中,损失函数(Loss Function)起着至关重要的作用。它是模型

贪心推公式——AcWing 125. 耍杂技的牛

贪心推公式 定义 贪心算法是一种在每一步选择中都采取在当前状态下最优的选择,希望通过局部的最优选择来得到全局最优解的算法策略。 运用情况 问题具有最优子结构,即一个问题的最优解包含其子问题的最优解。可以通过局部最优决策逐步推导到全局最优。问题的选择策略相对明确且易于计算。 注意事项 贪心算法并不总是能得到全局最优解,可能会陷入局部最优。对于一些复杂问题,需要谨慎验证其正确性。可能需要对

三次插值曲线--插值技术

三次插值曲线 1.1.三次样条曲线 三次样条曲线的基本思想是,在给定的一系列点(称为控制点或数据点)之间,通过一系列三次多项式曲线段来拟合这些点,使得整个曲线既平滑又准确地通过所有控制点。 1.1.1.数学定义 给定一组点 ( P_0, P_1, …, P_n ),其中 ( P_i = (x_i, y_i) ),( x_0 < x_1 < … < x_n )。三次样条曲线由以下性质定义:

PCL 三次样条插值(二维点)

一、简介 在插值计算中,最简单的分段多项式近似应该是分段线性插值,它由连接一组数据点组成,仅仅只需要将这些点一一用直线进行顺序相连即可。不过线性函数插值的缺点也很明显,就是在两个子区间变化的比较突兀,也就是没有可微性(不够光滑)。因此我们需要更为符合物理情况的一种曲线,一般来讲,三次多项式包含四个常数,它可以确保插值函数不仅在区间上连续可微,而且具有连续的二阶导数,这样就可以达到我们想要节点处

scala自学之路-34-字符串插值器

object StringDemo { def main(args: Array[String]): Unit = { //插值器 f s raw //s字符串插值器 val name = "zhangsan" val res = s"Hello,$name" println(res) //对${}里面的表达式进行计算或者转换 val res1 = s"1+1=${1 + 1}" println

Java基础 - 练习(五)根据今天日期获取一周内的日期(基姆拉尔森公式)

基姆拉尔森计算公式用于计算一周内的日期。比如给你年月日,从而计算今天是星期几。 基姆拉尔森公式 Week = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7, 3<=m<=14 Week的取值范围是0 ~ 6,其中0代表星期日,1 ~ 6分别代表星期一到星期六。注意在运算时要把1月和2月看为是上一年的13月和14月代入计算! int Date(i

[HDU 5728] PowMod (欧拉函数的积性+欧拉公式降幂+欧拉筛)

HDU - 5728 求 K=∑i=1mϕ(i∗n)mod1000000007 K = \displaystyle\sum_{i=1}^m {\phi(i*n)} mod 1000000007 其中 n n是 square-free number 求 ans=KKKK..modpans = K^{K^{K^{K^{..}}}}\mod p 先求 K K 由于 ϕ(n)\ph

如何使用AI解决所有EXCEL公式问题

有个假设前提,你略懂EXCEL公式 知道单元格“ $C1” 和 ”C1”的区别,当然你也可以自行度娘或问AI。 AI使用文心一言免费版方便容易获取。 第一步也是唯一的一步,向AI准确描述你的需求 示例:学生的成绩分布在0-100分之间,要求最低分按0分,最高分按100。计算出所有同学的得分。 直接输入以上示例,结果如下: 很明显回答的不是我们想要的,我们再精确一下问题。 修改后如下