差商与牛顿插值多项式
⋯⋯
× ( x − x0 )( x − x1 )⋯( x − xn−1 )
⋯ (b)式两边同乘以 式两边同乘以, 将(b)式两边同乘以,( x − x0 ) ,(c)式两边同乘以 ( x − x 0 )( x − x1 ), ⋯ ,(c)式两边同乘以 (d)式两边同乘以 (d)式两边同乘以 ( x − x0 )( x − x1 )⋯ ( x − x n−1 ) ,把所有式子相加,得 把所有式子相加, f ( x ) = f ( x 0 ) + f [ x 0 , x1 ]( x − x 0 ) + f [ x 0 , x1 , x 2 ]( x − x 0 )( x − x1 ) + ⋯ + f [ x 0 , x 1 , ⋯ , x n ]( x − x 0 )( x − x 1 ) ⋯ ( x − x n − 1 ) + f [ x , x 0 , ⋯ , x n ]( x − x 0 )( x − x 1 ) ⋯ ( x − x n − 1 )( x − x n )
j =1
( x j − x0 )⋯( x j − x j −1 )( x j − x j +1 )⋯( x j − xn ) n+1 f ( xj ) f [ x1,x2, xn+1 ] = ∑ ⋯ ( ( j =1 ( x j − x1 )⋯ x j − x j −1 )(x j − x j +1 )⋯ x j − xn+1 )
⋮ xk ⋮
⋮ f ( xk )
⋯
⋯ f [x0 , x1,⋯, xk ]
⋮
计算顺序:同列维尔法, 计算顺序:同列维尔法,即每次用前一列同行的差商与前一列 上一行的差商再作差商。 上一行的差商再作差商。
4.2 牛顿插值多项式
1 牛顿插值多项式的推导 ) 函数表( ) 由差商定义及对称性, 已知 y = f (x) 函数表(4.1), 由差商定义及对称性,得 (4 . 1 f ( x ) − f ( x0 ) ⇒ f ( x ) = f ( x 0 ) + f [x , x 0 ]( x − x 0 ) ( a ) f [x , x 0 ] = x − x0 f [ x, x0 ] − f [ x0 , x1 ] f [x, x0 , x1 ] = x − x1 ⇒ f [ x , x ] = f [ x , x ] + f [x , x , x ]( x − x ) (b )
f ( x j ) − f ( xi ) x j − xi
,
的一阶差商表,再作一次差商, (2)由函数 = f ( x ) 的一阶差商表,再作一次差商,即 )由函数y=
f [ x j , xk ] − f [ xi , x j ] , f xi , x j , xk ≡ xi , x j , xk f ( x ) ≡ xk − xi
i =0 i≠ j
2) 是对称的, (2)k 阶差商 f [x0, x1,⋯, xk ] 关于节点 x0 , x1 ,⋯, xk 是对称的,或说 均差与节点顺序无关 与节点顺序无关, 均差与节点顺序无关,即 f [x0 , x1 ,⋯, xk ] = f [x1 , x0 ,⋯, xk ] = ⋯ = f [xk , xk −1 ,⋯, x0 ] 例如: 例如:f xi , x j , xk = f [xi , xk , x j ,] = f x j , xi , xk = f [x j , xk , xi ]
xn+1 − x0 ( x j − x0 )(x j − x1 )⋯( x j − x j −1 )(x j − x j +1 )⋯( x j − xn+1 ) n+1 f ( xj ) # =∑ ( ( j =0 ( x j − x0 )(x j − x1 )⋯ x j − x j −1 )(x j − x j +1 )⋯ x j − xn+1 )
n+1
时成立, 假设当 k = n 时成立,即有
f [ x0,x1, xn ] = ∑ ⋯
j =0
n
f (xj )
则由定义 f [x1 , x2 ,⋯ xn +1 ] − f [x0 , x1 ,⋯, xn ] f [ x0 , x1,⋯, xn,xn+1] ≡ xn +1 − x0 1 f ( xn+1) − f ( x0 ) ( ) = + xn+1 − x0 (xn+1 − x1)(xn+1 − x2 )⋯( xn+1 − xn ) (x0 − x1)(x0 − x2 )⋯( x0 − xn )
[
] [
]
称为y 二阶差商(二阶均差) 称为 = f ( x ) 在点 x i , x j , x k 的二阶差商(二阶均差); 即
n-1阶 - 差商
- 阶差商表可定义函数的n阶差商。 (3)一般由函数 = f (x ) 的n-1阶差商表可定义函数的 阶差商。 )一般由函数y=
ff [x1 , x2 ,⋯,x n ] − f [x 0 , x1 ,⋯, x n−1 ] xn 0 1 n−1 ≡ f [x0 , x1 ,⋯, xn ] ≡ [x0 , x1 ,⋯, xn ] f(x) xn − x0
f [x0 , x1 ,⋯, xk ] = ∑
k j =0
f (xj )
( x j − x0 )(x j − x1 )⋯( x j − x j−1 )(x j − x j+1 )⋯( x j − xk ) k k f (xj) f (x j ) =∑ k =∑ j =0 ′ Π ( x j − x i ) j = 0 ω k +1 ( x j )
称为函数y= f ( x ) 在 x0 , x1 , ⋯ , x n 点的n阶差商(n阶均差)。 称为函数 = 点的 阶差商( 阶均差) 阶差商 阶均差
2 基本性质 定理5 ) 定理 (1)f (x) 的k阶差商 f [x0 , x1,⋯, xk ] 是函数值 f (x0 ), f (x1 ),⋯, f (xk ) 阶差商 的线性组合, 的线性组合,即
f ( x0 ) f ( x1 ) f ( x1 ) − f ( x0 ) f [ x0,x1 ] = + =1时 当k =1时, ⇐ f [x0 , x1 ] = x0 − x1 x1 − x0 x1 − x0 利用(1)很容易得到。 (1)可用归纳法证明。(2)利用(1)很容易得到。只证(1) )可用归纳法证明。(2)利用(1)很容易得到 只证(1) f ( x1 ) − f ( x0 ) f ( x0 ) f ( x1 ) ( =1时 = + 证明: ) 证明: 1)当k =1时, f [x0 , x1 ] = x1 − x0 x0 − x1 x1 − x0
f [ x , x 0 , x1 , x 2 ] = f [ x , x 0 , x1 ] − f [ x 0 , x1 , x 2 ] x − x2 ⇒ f [ x , x 0 , x1 ] = f [ x 0 , x1 , x 2 ] + f [ x , x 0 , x1 , x 2 ]( x − x 2 ) ( c )
f [x2 , x3 ] f [x1, x2 , x3 ] f [x3 , x4 ] f [x2 , x3 , x4 ]
⋮ ⋮ f [xk−1, xk ] f [xk−2 , xk−1, xk ]
f [x0 , x1, x2 , x3 ] f [x1, x2 , x3 , x4 ]
⋮ ⋱
f ( x4 )
⇒ f [x, x0 ,⋯, xn−1 ] = f [x0 , x1 ,⋯, xn ] + f [ x, x0 ,⋯, xn ]( x − xn ) (d )
f x x x ] x − xx f [ x,, x00]]= f [ x0 , x1 ] + f [x,, x00,,x11(]( x − 1 )1 ) (b) x
假设当 k = n 时成立,即有 时成立,
f [ x0,x1, xn ] = ∑ ⋯
j =0
n
f ( xj ) ( x j − x0 )⋯( x j − x j −1 )(x j − x j +1 )⋯( x j − xn )
f ( xj )
f [ x1,x2, xn+1] = ∑ ⋯ ( ( j =1 ( x j − x1 )⋯ x j − x j −1 )(x j − x j +1 )⋯ x j − xn+1 )
( x i ≠ x j ,当 i ≠ j )
定义为f( ) 定义为 (x) 的差商
即有定义: 即有定义:
定义4 定义 (1)对于[ xi , x j ] ,称 f [x i , x j ] ≡ [x i , x j ] f ( x ) ≡ 为函数 f ( x ) 在 x i , x j 的一阶差商(一阶均差); 一阶差商(一阶均差 均差);
[
]
[ ] = f [x , x , x ] = f [x , x , x ]
k j i
k i j
共6个 个
f [x0 , x1 ,⋯, xk ] = ∑
k j =0
分析 :
f ( xj ) ( x j − x0 )(x j − x1 )⋯( x j − x j−1 )(x j − x j+1 )⋯( x j − xk )
+∑
n
f ( xj )
⋅
( x j − x0 ) − ( x j − xn+1 )
3 差商表
表2.4
一阶差商 二阶差商 三阶差商 k 阶差商
§2.4 差商与Newton插值公式
称为函数f (x)在x0、x1 、xk 点的二阶差商.
© 2009, Henan Polytechnic University §4 差商与Newton插值公式
6 6
第二章 插值法
一般地,k-1阶差商的差商
f [ x0 ,, xk 2 , xk ] f [ x0 , x1 ,, xk 1 ] f [ x0 , x1 ,, xk ] x k x k 1
© 2009, Henan Polytechnic University §4 差商与Newton插值公式
1010
第二章 插值法
性质3 若f(x)在[a,b]上存在n阶导数, 且节点x0 , x1 ,…,
xn∈[a,b] ,则至少存在一点 [a, b] 满足下式
f ( n ) ( ) f [ x0 , x1 ,, xn ] n!
f ( x 3 ) f ( x0 ) 1 1 a3 a a 1 2 x x x3 x2 x x 3 0 3 1
© 2009, Henan Polytechnic University §4 差商与Newton插值公式
© 2009, Henan Polytechnic University §4 差商与Newton插值公式
1212
第二章 插值法
2.4.2 牛顿插值公式 N n ( x) a0 a1 ( x x0 ) an ( x x0 )( x xn1 )
a0 f ( x0 )
1616
第二章 插值法
f ( x ) f ( x0 ) f [ x, x0 ]( x x0 )
f [ x , x0 ] f [ x0 , x1 ] f [ x , x0 , x1 ]( x x1 )
数值分析2-3(牛顿插值法)
二阶差商
f [ xi , x j , xk ]
一般的k阶差商定义为
f [ x0 , x1 ,..., x k ] f [ x0 ,..., x k 2 , x k ] f [ x0 , x1 ,..., x k 1 ] x k x k 1
特别地,f(x)关于一个点xi的零阶 差商定义为函数值本身,即
§3
差 商 与 牛 顿 插 值
一、差商及其性质 二、差商的计算
三、牛顿插值公式 四、牛顿插值法举例
一、差商及其性质
1. 差商的定义 函数关于 xi, xj 一阶差商
f [ xi , x j ] fห้องสมุดไป่ตู้( x j ) f ( xi ) x j xi
f [ x j , xk ] f [ xi , x j ] xk xi
∶ ∶ ∶
f[x0,x1,x2] f[x1,x2,x3]
∶ ∶ ∶
f[x0,x1,x2,x3]
∶ ∶ ∶
例 已知函数y= f (x)的观测数据如下, 试构造差商表,并求 f [2,4,5,6]的值
x 0 2 f(x) 1 5
4 5 6 9 -4 13
解 构造差商表如下
xi f(xi) 一阶 二阶 三阶 0 1 2 5 2 4 9 2 0 5 -4 -13 -5 -1 6 13 17 15 5 四阶
4 3 2
用二次插值求f (3)时,取
x0=2, x1=4, x2=5, 得 f ( 3) f ( 2) f [2,4]( 3 2)
f [2,4,5]( 3 2)( 3 4) 7 5( 3 2)( 3 4) 12 思考:若本题只给出前三个点,结果 如何?请你总结牛顿插值法何时停止?
数值分析2-3(牛顿插值法)差商和与牛顿插值
确定插值多项式的次数
根据已知数据点的数量确定插值多项式的最高次 数。
计算插值多项式
利用差商表,通过拉格朗日插值公式计算插值多 项式。
3
进行插值
将需要插值的x值代入插值多项式中,得到对应 的y值。
05
牛顿插值法的优缺点分析
优点
计算简单
局部性质好
相比于其他多项式插值方法,牛顿插 值法的计算过程相对简单,不需要求 解高阶方程,降低了计算的复杂度。
数值分析2-3:牛顿 插值法、差商和
目录
• 引言 • 牛顿插值法的基本概念 • 差商的计算方法 • 牛顿插值法的实现步骤 • 牛顿插值法的优缺点分析 • 实际应用案例 • 总结与展望
01
引言
主题简介
数值分析是数学的一个重要分支,主 要研究如何用数值方法解决各种数学 问题。
本章节将介绍牛顿插值法、差商和的 概念及其应用。
03
差商的计算方法
差商的递推公式
差商的递推公式
$f[x_0, x_1, ldots, x_n] = frac{f[x_1, ldots, x_n] - f[x_0, x_1, ldots, x_{n-1}]}{x_n - x_0}$
应用
通过递推公式,我们可以计算任意点之间的差商,从而得到插值多项式的导数。
在数据点附近,牛顿插值具有较好的 局部性质,能够提供较为准确的插值 结果。
适用性强
牛顿插值法适用于各种数据分布情况, 无论是线性还是非线性数据,都能得 到较好的插值结果。
缺点
全局误差较大
由于牛顿插值多项式的构造方式, 其全局误差通常较大,尤其是在 数据点较少的情况下。
对数据点敏感
如果数据点发生微小的变动,牛 顿插值多项式可能会发生较大的 变化,导致插值结果不稳定。
差商法牛顿多项式插值
二、差商法牛顿多项式插值2.1 问题描述使用差商法构建牛顿多项式插值,首先给出牛顿插值多项式:()[][]()[]()()[]()()001001201010n n n N x f x f x ,x x x f x ,x ,x x x x x f x ,x ,,x x x x x =+-+--++-- (2.1)上式中的系数可由差商表得到:][01n f x ,x ,,x []()()111i i i i i if x f x f x ,x x x +++-=- (2.2)[][][]111111i i k i k i i i k i i i k i k i k if x ,,x ,x f x ,x ,,x f x ,x ,,x ,x x x ++-+++-++-++-=- (2.3)使用上述二式构建差商表,进而求出差商的结果。
2.2 代码代码为FORTRAN 语言,使用VS2010在win10环境下写成的,使用FORTRAN95格式,使用安装在VS2010上的IVF2011编译器生成并运行成功。
PROGRAM CHASHANG IMPLICIT NONEINTEGER :: N,I,J !N 是样本个数REAL*8 :: X(20), Y(20) !作为样本的x 值和y 值 REAL :: F(20,20) !数组,用于盛放差商表REAL :: INPUT,OUTPUT,INPUTL(20) !input 是要求的插值点,output 是input 点对应的y 值!读取离散数据OPEN(unit=11,file='INPUT.txt') READ(11,*) N,INPUT READ(11,*) X(1:N+1) READ(11,*) Y(1:N+1)!构建差商表F(1:N+1,1:N+1)=0 DO I=1,N+2F(I,1)=Y(I) !C0第一列 ENDDODO I=2,N+2,1 DO J=2,I,1F(I,J)=(F(I,J-1)-F(I-1,J-1))/(X(I)-X(I-J+1)) ENDDO ENDDO!输出差商表 DO I=1,N+2 DO J=1,N+1WRITE(*,*)F(I,J) ENDDO ENDDO!构建累乘表INPUTL INPUTL(1:N+1)=1 DO I=2,N+1INPUTL(I)=INPUTL(I-1)*(INPUT-X(I-1)) !分别求出公式2.1中的各项并存储在INPUTL(I)中,累乘n 次 ENDDO!计算结果OUTPUT=F(1,1)*INPUTL(1) DO I=2,N+2OUTPUT=OUTPUT+F(I,I)*INPUTL(I) !累加得到公式2.1中的N(x)值ENDDOOPEN(unit=22,file='OUTPUT.txt') WRITE(22,*) OUTPUTENDPROGRAM2.3 验证使用了沈艳等人《高等数值计算》(清华大学出版社出版的)一书中例6.1(P100)中的样本值开展了验证,将题目中的6π,4π,3π写为小数形式: 0.5235 0.7854 1.0472同样,其对应的函数值也写为小数形式:0.5 0.7071 0.8660 输入插值点518π,即0.8727,程序执行之后,得到该插值点对应的y 值: 0.765433667340945输入文件格式:—————————————— 2 0.872660.5236 0.7854 1.0472 0.5 0.7071 0.866得到的输出文件:——————————————0.7654179 ——————————————。
差商公式推导牛顿插值公式
差商公式推导牛顿插值公式
设有n+1个数据点(x0,y0),(x1,y1),...,(xn,yn),要求通过
这些数据点构造一个n次多项式P(x),用于近似原函数的插值。
牛顿插值公式的一般形式为:
P(x)=f[x0]+f[x0,x1](xx0)+f[x0,x1,x2](xx0)(xx1)+...+f [x0,x1,...,xn](xx0)(xx1)...(xxn1)
其中f[x0]代表差商,f[x0,x1]代表二阶差商,以此类推。
1.一阶差商的计算:
f[xi]=(yiy0)/(xix0)
2.二阶差商的计算:
f[xi,xi+1]=(f[xi+1]f[xi])/(xi+1xi)
3.三阶及更高阶差商的计算:
f[xi,xi+1,...,xi+k]=(f[xi+1,xi+2,...,xi+k]f[xi,xi+1,...,xi
+k1])/(xi+kxi)
4.将差商代入牛顿插值公式中,得到:
P(x)=f[x0]+f[x0,x1](xx0)+f[x0,x1,x2](xx0)(xx1)+...+f [x0,x1,...,xn](xx0)(xx1)...(xxn1)
这样就得到了n次牛顿插值公式。
总结起来,差商公式的推导过程就是根据给定的数据点,计算不同阶次的差商,然后将差商代入牛顿插值公式中得到n次多项式。
通过这个多项式,我们可以在给定的数据点间进行插值,从而近似原函数的数值。
差商与牛顿插值多项式
⇒ f [x, x0 ,⋯, xn−1 ] = f [x0 , x1 ,⋯, xn ] + f [ x, x0 ,⋯, xn ]( x − xn ) (d )
f x x x ] x − xx f [ x,, x00]]= f [ x0 , x1 ] + f [x,, x00,,x11(]( x − 1 )1 ) (b) x
f ( x0 ) f ( x1 ) f ( x1 ) − f ( x0 ) f [ x0,x1 ] = + =1时 当k =1时, ⇐ f [x0 , x1 ] = x0 − x1 x1 − x0 x1 − x0 利用(1)很容易得到。 (1)可用归纳法证明。(2)利用(1)很容易得到。只证(1) )可用归纳法证明。(2)利用(1)很容易得到 只证(1) f ( x1 ) − f ( x0 ) f ( x0 ) f ( x1 ) ( =1时 = + 证明: ) 证明: 1)当k =1时, f [x0 , x1 ] = x1 − x0 x0 − x1 x1 − x0
f [x2 , x3 ] f [x1, x2 , x3 ] f [x3 , x4 ] f [x2 , x3 , x4 ]
⋮ ⋮ f [xk−1, xk ] f [xk−2 , xk−1, xk ]
f [x0 , x1, x2 , x3 ] f [x1, x2 , x3 , x4 ]
⋮ ⋱
f ( x4 )
f [x0 , x1 ,⋯, xk ] = ∑
k j =0
f (xj )
( x j − x0 )(x j − x1 )⋯( x j − x j−1 )(x j − x j+1 )⋯( x j − xk ) k k f (xj) f (x j ) =∑ k =∑ j =0 ′ Π ( x j − x i ) j = 0 ω k +1 ( x j )
2.2 牛顿插值法
f ( x ) = f ( x 0 ) + f [ x 0 , x 1 ]( x - x 0 ) + f [ x , x 0 , x 1 ]( x - x 0 )( x - x 1 )
又
f [ x , x 0 , x1 , x 2 ] =
f [ x 0 , x1 , x 2 ] - f [ x , x 0 , x1 ] x2 - x
a2=
依次递推可得到a3, …, an. 为写出系数 ak的一般表达式, 均差定义
2.3.2 均差及其性质
1、均差的定义 称 f [ x0 , xk ] =
f ( xk ) - f ( x0 ) xk - x0
为 f ( x ) 关于点 x 0 , x k 的一阶差商。 称 f [ x 0 , x1 , x k ] =
注:均差与节点的排列次序无关——均差 的对称性
f[x0,x1,…,xn]= f[x1,x0,x2,…,xn]=… = f[x1, …, xn ,x0]
因此 f [ x 0 , x 1 , , x k ] = f [ x 1 , x k - 1 , x 0 , x k ]
= f [ x 1 , x 2 , , x k -1 , x k ] - f [ x 1 , x 2 , , x k -1 , x 0 ] xk - x0 f [ x 1 , x 2 , , x k -1 , x k ] - f [ x 0 , x 1 , x 2 , , x k -1 ] xk - x0
f (xj)
k
j=0
j=0
( x j - xi )
i=0 j i
1ºn 阶均差可表示为函数值f(x0), f(x1),…, f(xn) 的线性组合
差商与牛顿基本插值公式
可以得到 n 次牛顿插值多项式为
N n x f x0 f x0 , x1 x x0 f x0 , x1 , x2 x x0 x x1 f x0 , x1 , , xn x x0 x x1 x xn 1
定义 f x 在点 x0 , x1 ,, xm 处的 m 阶差商为
f x0 , x1 ,, xm
f x1 ,, xm x0 , x1 ,, xm1 xm x0
j 0
m
x
j
x0 x j x j 1 x j x j 1 x j xm
n 次牛顿插值多项式为
Nn x a0 a1 x x0 a2 x x0 x x1 an x x0 x x1 x xn1
定义零阶差商为
f xi f xi
定义 f x 在点 xi , x j 处的一阶差商为
f xj
通过上式可以发现差商具有对称性,即任意调换节点的次序,不会影响差商的值,例如
f x0 , x1, x2 f x1, x2 , x0 f x1, x0 , x2
通过满足插值条件 Nn xi f xi
i 0,1,2,, n ,有
return;
已知函数表
x
x
用线性插值得
100 10
121 11
144 12
169 13
115 N1 115 10.7143
用抛物线插值得
115 N 2 115 10.7228
第一章 第二节 Newton 插值多项式
从而有,
f ( x ) = Pn+1 ( x ) = Pn ( x ) + f ( x, x0 , x1 ,, xn ) n+1 ( x )
因此,对所有 x = xi , i = 0,1,, n ,有
Rn ( x ) = f ( x ) Pn ( x ) = f ( x, x0 ,, xn ) n+1 ( x )
算过的结果不能利用,需要全部重新算起,这在实际计算中
是非常不利的。 由此引入新的插值公式。
二、差商及其性质
1、差商的概念
设在 n + 1 个互异点 x0 , x1 ,L xn上的函数值为已知,我们称
f ( xi , x j ) = f ( xi ) f ( x j ) xi x j , (i j )
为 f (x) 的一阶差商。
一般地,我们把一阶差商的一阶差商
f ( xi , x j , xk ) = f ( xi , x j ) f ( x j , xk ) xi xk ,(i k )
称为 f (x) 的二阶差商。
把 n 1阶差商的一阶差商
f ( x0 , x1 ,, xn ) = f ( x0 , x1 ,, xn 1 ) f ( x1 , x2 , xn ) x0 xn
(2)对称性
即当任意调换 xi 的位置时,不改变差商值,如
f ( x0 , x1 , x2 ) = f ( x1 , x0 , x2 ) = f ( x2 , x1 , x0 )
(3)、若
F ( x) = f ( x) g ( x)
则
F ( xi ,, xi + k ) = f ( xi ,, xr ) g ( xr , xi + k )
研究生数值分析(15)插商与牛顿(Newton)插值多项式
( x x0 ) ( x xk 1 )( x xk 1 ) ( x xn ) Ln ( x) yk lk ( x) yk ( xk x0 ) ( xk xk 1 )( xk xk 1 ) ( xk xn ) k 0
即
f [ xi , x j , xk ]
f [ x j , xk ] f [ xi , x j ] xk xi
一般地,称 m-1 阶差商的差商
f [ x1 , x2 , , xm ] f [ x0 , x1,, xm1 ] f [ x0 , x1 , , xm ] xm x0
用牛顿二次、三次插值多项式近似计算f(1.46)
的值,并估计牛顿二次插值多项式近似计算的截断
误差,说明牛顿二次多项式近似计算结果的有效数 字。
f [ x0 , x1 , , xk ]
j 0 k
f (x j ) ( x j x0 ) ( x j x j 1 )( x j x j 1 ) ( x j xk )
性质2 差商具有对称性,即在k阶差商
f [ x0 , x1 ,, xk ] 中任意调换2个节点
xi
R2 (115) f [ x0 , x1 , x2 , x3 ]3 (115) 0.0000003138 (115 100)(115 121)(115 144) 0.00082
与实际误差
115 N 2 (115) 0.001 相当接近。
练习:给定数据如下:
x f(x) 1 1.25 1.5 2.50 0 1.00 2 5.50
例3 已知函数表
x
x
… …
