Template:微積分學
均差 (Divided differences)是遞歸 除法 過程。在数值分析 中,可用於計算牛頓多項式 形式的多項式插值 的係數。在微积分 中,均差与导数 一起合称差商 ,是对函数 在一个区间 内的平均 变化率的测量[ 1] [ 2] [ 3] 。
均差也是一种算法 ,查尔斯·巴贝奇 的差分机 ,是他在1822年发表的论文中提出的一种早期的机械计算机 ,在历史上意图用来计算对数 表和三角函数 表, 它设计在其运算中使用这个算法[ 4] 。
定義
給定n+1個數據點
( x 0 , y 0 ) , … , ( x n , y n )
定義前向均差 為:
[ y ν ] = y ν , ν ∈ { 0 , … , n } [ y ν , … , y ν + j ] = [ y ν + 1 , … , y ν + j ] − [ y ν , … , y ν + j − 1 ] x ν + j − x ν , ν ∈ { 0 , … , n − j } , j ∈ { 1 , … , n }
定義後向均差 為:
[ y ν ] = y ν , ν ∈ { 0 , … , n } [ y ν , … , y ν − j ] = [ y ν , … , y ν − j + 1 ] − [ y ν − 1 , … , y ν − j ] x ν − x ν − j , ν ∈ { j , … , n } , j ∈ { 1 , … , n }
表示法
假定數據點給出為函數 ƒ,
( x 0 , f ( x 0 ) ) , … , ( x n , f ( x n ) )
其均差可以寫為:
f [ x ν ] = f ( x ν ) , ν ∈ { 0 , … , n } f [ x ν , … , x ν + j ] = f [ x ν + 1 , … , x ν + j ] − f [ x ν , … , x ν + j − 1 ] x ν + j − x ν , ν ∈ { 0 , … , n − j } , j ∈ { 1 , … , n }
對函數 ƒ 在節點 x 0 , ..., x n 上的均差還有其他表示法,如:
[ x 0 , … , x n ] f [ x 0 , … , x n ; f ] D [ x 0 , … , x n ] f
例子
給定ν=0:
[ y 0 ] = y 0 [ y 0 , y 1 ] = y 1 − y 0 x 1 − x 0 [ y 0 , y 1 , y 2 ] = [ y 1 , y 2 ] − [ y 0 , y 1 ] x 2 − x 0 [ y 0 , y 1 , y 2 , y 3 ] = [ y 1 , y 2 , y 3 ] − [ y 0 , y 1 , y 2 ] x 3 − x 0 [ y 0 , y 1 , … , y n ] = [ y 1 , y 2 , … , y n ] − [ y 0 , y 1 , … , y n − 1 ] x n − x 0
為了使涉及的遞歸過程更加清楚,以列表形式展示均差的計算過程[ 5] :
x 0 [ y 0 ] = y 0 [ y 0 , y 1 ] x 1 [ y 1 ] = y 1 [ y 0 , y 1 , y 2 ] [ y 1 , y 2 ] [ y 0 , y 1 , y 2 , y 3 ] x 2 [ y 2 ] = y 2 [ y 1 , y 2 , y 3 ] [ y 2 , y 3 ] x 3 [ y 3 ] = y 3
展開形式
用數學歸納法 可證明[ 6] :
[ y 0 ] = y 0 [ y 0 , y 1 ] = y 0 x 0 − x 1 + y 1 x 1 − x 0 [ y 0 , y 1 , y 2 ] = y 0 ( x 0 − x 1 ) ( x 0 − x 2 ) + y 1 ( x 1 − x 0 ) ( x 1 − x 2 ) + y 2 ( x 2 − x 0 ) ( x 2 − x 1 ) [ y 0 , y 1 , … , y n ] = ∑ j = 0 n y j ∏ k = 0 , k ≠ j n ( x j − x k )
此公式體現了均差的對稱性質。[ 7] 故可推知:任意调换數據點次序,其值不变。[ 8]
性质
对称性:若σ : { 0 , … , n } → { 0 , … , n } 是一个排列 则
f [ x 0 , … , x n ] = f [ x σ ( 0 ) , … , x σ ( n ) ]
( f + g ) [ x 0 , … , x n ] = f [ x 0 , … , x n ] + g [ x 0 , … , x n ] ( λ ⋅ f ) [ x 0 , … , x n ] = λ ⋅ f [ x 0 , … , x n ]
( f ⋅ g ) [ x 0 , … , x n ] = f [ x 0 ] ⋅ g [ x 0 , … , x n ] + f [ x 0 , x 1 ] ⋅ g [ x 1 , … , x n ] + … + f [ x 0 , … , x n ] ⋅ g [ x n ]
∃ ξ ∈ ( min { x 0 , … , x n } , max { x 0 , … , x n } ) f [ x 0 , … , x n ] = f ( n ) ( ξ ) n !
等價定義
通過對換 n 阶均差中(x0 ,y0 )与(xn-1 ,yn-1 ),可得到等價定義:
[ y 0 , y 1 , … , y n − 1 , y n ] = [ y 1 , y 2 , … , y n ] − [ y 0 , y 1 , … , y n − 1 ] x n − x 0 = [ y 1 , … , y n − 2 , y 0 , y n ] − [ y n − 1 , y 1 , … , y n − 2 , y 0 ] x n − x n − 1 = [ y 0 , … , y n − 2 , y n ] − [ y 0 , y 1 , … , y n − 1 ] x n − x n − 1
這個定義有著不同的計算次序:
[ y 0 ] = y 0 [ y 0 , y 1 ] = y 1 − y 0 x 1 − x 0 [ y 0 , y 1 , y 2 ] = [ y 0 , y 2 ] − [ y 0 , y 1 ] x 2 − x 1 [ y 0 , y 1 , y 2 , y 3 ] = [ y 0 , y 1 , y 3 ] − [ y 0 , y 1 , y 2 ] x 3 − x 2 [ y 0 , y 1 , … , y n ] = [ y 0 , … , y n − 2 , y n ] − [ y 0 , y 1 , … , y n − 1 ] x n − x n − 1
以列表形式展示這個定義下均差的計算過程[ 9] :
x 0 [ y 0 ] = y 0 [ y 0 , y 1 ] x 1 [ y 1 ] = y 1 [ y 0 , y 1 , y 2 ] [ y 0 , y 2 ] [ y 0 , y 1 , y 2 , y 3 ] x 2 [ y 2 ] = y 2 [ y 0 , y 1 , y 3 ] [ y 0 , y 3 ] x 3 [ y 3 ] = y 3
牛頓插值法
Template:More
《自然哲學的數學原理 》的第三編“宇宙體系”的引理五的图例。這裡在橫坐標上有6個點H,I,K,L,M,N,對應著6個值A,B,C,D,E,F,生成一個多項式函數對這6個點上有對應的6個值,計算任意點S對應的值R。牛頓給出了間距為單位值和任意值的兩種情況。
牛頓插值公式,得名於伊薩克·牛頓 爵士,最早发表为他在1687年出版的《自然哲學的數學原理 》中第三編“宇宙體系”的引理五,此前詹姆斯·格雷果里 於1670年和牛頓於1676年已經分別獨立得出這個成果。一般稱其為連續泰勒展開 的離散對應。
使用均差的牛顿插值法 為[ 10] :
N n ( x ) = y 0 + ( x − x 0 ) ( [ y 0 , y 1 ] + ( x − x 1 ) ( [ y 0 , y 1 , y 2 ] + ⋯ ) ) = [ y 0 ] + [ y 0 , y 1 ] ( x − x 0 ) + ⋯ + [ y 0 , y 1 , … , y n ] ∏ k = 0 n − 1 ( x − x k )
可以在计算过程中任意增添节点如點(xn+1 ,yn+1 ),只需計算新增的n+1階均差及其插值基函數,而无拉格朗日插值法 需重算全部插值基函数之虞。
對均差採用展開形式[ 11] :
N n ( x ) = y 0 + y 0 x − x 0 x 0 − x 1 + y 1 x − x 0 x 1 − x 0 + ⋯ + ∑ j = 0 n y j ∏ k = 0 n − 1 ( x − x k ) ∏ k = 0 , k ≠ j n ( x j − x k )
以2階均差牛頓插值為例:
N 2 ( x ) = y 0 ( 1 + x − x 0 x 0 − x 1 + ( x − x 0 ) ( x − x 1 ) ( x 0 − x 1 ) ( x 0 − x 2 ) ) + y 1 ( x − x 0 x 1 − x 0 + ( x − x 0 ) ( x − x 1 ) ( x 1 − x 0 ) ( x 1 − x 2 ) ) + y 2 ( x − x 0 ) ( x − x 1 ) ( x 2 − x 0 ) ( x 2 − x 1 ) = y 0 ( x − x 1 ) ( x − x 2 ) ( x 0 − x 1 ) ( x 0 − x 2 ) + y 1 ( x − x 0 ) ( x − x 2 ) ( x 1 − x 0 ) ( x 1 − x 2 ) + y 2 ( x − x 0 ) ( x − x 1 ) ( x 2 − x 0 ) ( x 2 − x 1 ) = ∑ j = 0 2 y j ∏ k = 0 k ≠ j 2 x − x k x j − x k
前向差分
Template:Details
當數據點呈等距分佈的時候,這個特殊情況叫做“前向差分 ”。它們比計算一般的均差要容易。
定義
給定n+1個數據點
( x 0 , y 0 ) , … , ( x n , y n )
有著
x i = x 0 + i h , h > 0 , 0 ≤ i ≤ n
定義前向差分 為:
△ 0 y i = y i △ k y i = △ k − 1 y i + 1 − △ k − 1 y i , 1 ≤ k ≤ n − i
前向差分所对应的均差为[ 12] :
f [ x 0 , x 1 , … , x k ] = 1 k ! h k Δ ( k ) f ( x 0 )
例子
y 0 △ y 0 y 1 △ 2 y 0 △ y 1 △ 3 y 0 y 2 △ 2 y 1 △ y 2 y 3
展開形式
差分的展開形式是均差展開形式的特殊情況[ 13] :
△ k y i = ∑ j = 0 k ( − 1 ) k − j ( k j ) y i + j , 0 ≤ k ≤ n − i
這裡的表達式
( n k ) = ( n ) k k ! ( n ) k = n ( n − 1 ) ( n − 2 ) ⋯ ( n − k + 1 )
是二項式係數 ,其中的(n)k 是“下降階乘冪 ”,空積 (n)0 被定義為1。
插值公式
其對應的牛頓插值公式為:
f ( x ) = y 0 + x − x 0 h ( Δ 1 y 0 + x − x 0 − h 2 h ( Δ 2 y 0 + ⋯ ) ) = y 0 + ∑ k = 1 n Δ k y 0 k ! h k ∏ i = 0 n − 1 ( x − x 0 − i h ) = y 0 + ∑ k = 1 n Δ k y 0 k ! ∏ i = 0 n − 1 ( x − x 0 h − i ) = ∑ k = 0 n ( x − x 0 h k ) Δ k y 0
無窮級數
牛頓 在1665年得出並在1671年寫的《流數法》中發表了ln(1+x)的無窮級數 ,在1666年得出了arcsin(x)和arctan(x)的無窮級數,在1669年的《分析學》中發表了sin(x)、cos(x)、arcsin(x)和ex 的無窮級數;萊布尼茨 在1673年大概也得出了sin(x)、cos(x)和arctan(x)的無窮級數。布魯克·泰勒 在1715年著作《Methodus Incrementorum Directa et Inversa》[ 14] 中研討了“有限差分”方法,其中論述了他在1712年得出的泰勒定理 ,這個成果此前詹姆斯·格雷果里 在1670年和萊布尼茨 在1673年已經得出,而約翰·伯努利 在1694年已經在《教師學報》發表。
他對牛頓的均差的步長取趨於0的極限 ,得出:
f ( x ) = f ( a ) + lim h → 0 ∑ k = 1 ∞ Δ h k [ f ] ( a ) k ! h k ∏ i = 0 k − 1 ( ( x − a ) − i h ) = f ( a ) + ∑ k = 1 ∞ d k d x k f ( a ) ( x − a ) k k !
冪函數的均差
使用普通函數記號表示冪运算,p n ( x ) = x n ,有:
p j [ x 0 , … , x n ] = 0 ∀ j < n p n [ x 0 , … , x n ] = 1 p n + 1 [ x 0 , … , x n ] = x 0 + … + x n p n + m [ x 0 , … , x n ] = ∑ k 0 + ⋯ + k n = m ∏ t = 0 n x t k t
此中n+1元m次齊次多項式 的記法同於多項式定理 。
泰勒形式
泰勒級數 和任何其他的函數級數,在原理上都可以用來逼近均差。將泰勒級數表示為:
f = f ( 0 ) p 0 + f ′ ( 0 ) p 1 + f ″ ( 0 ) 2 ! p 2 + …
均差的泰勒級數為:
f [ x 0 , … , x n ] = f ( 0 ) p 0 [ x 0 , … , x n ] + f ′ ( 0 ) p 1 [ x 0 , … , x n ] + … + f ( n ) ( 0 ) n ! p n [ x 0 , … , x n ] + …
前n 項消失了,因為均差的階高於多項式的階。可以得出均差的泰勒級數本質上開始於:
f ( n ) ( 0 ) n !
依據Template:Le ,這也是均差的最簡單逼近。
皮亞諾形式
均差還可以表達為
f [ x 0 , … , x n ] = 1 n ! ∫ x 0 x n f ( n ) ( t ) B n − 1 ( t ) d t
這裡的Bn-1 是數據點x0 ,...,xn 的n-1次B樣條 ,而f(n) 是函數f的n階導數 。這叫做均差的皮亞諾形式 ,而Bn-1 是均差的皮亞諾 核。
註釋與引用
Template:Reflist
参考书目
參見
↑ Template:Cite book
↑ Template:Cite book
↑ Template:Cite book
↑ Template:Cite book
↑
x 0 x 0 2 x 0 + x 1 x 1 x 1 2 1 x 1 + x 2 0 x 2 x 2 2 1 x 2 + x 3 x 3 x 3 2 x 0 x 0 n ∑ i = 0 n − 1 x 0 n − 1 − i x 1 i x 1 x 1 n x 0 x 0 n + 1 x 1 n + 1 − x 1 x 0 n + x 1 x 0 n − x 0 n + 1 x 1 − x 0 = x 1 x 1 n − x 0 n x 1 − x 0 + x 0 n = x 1 ∑ i = 0 n − 1 x 0 n − 1 − i x 1 i + x 0 n = ∑ i = 0 n x 0 n − i x 1 i x 1 x 1 n + 1 x 0 x 0 n + 1 ∑ i = 0 n x 0 n − i x 1 i x 1 x 1 n + 1 ∑ i = 0 n x 1 n − i x 2 i − ∑ i = 0 n x 0 n − i x 1 i x 2 − x 0 = ∑ i = 0 n − 1 x 1 i ( x 2 n − i − x 0 n − i ) x 2 − x 0 = ∑ i + j + k = n − 1 x 0 i x 1 j x 2 k ∑ i = 0 n x 1 n − i x 2 i x 2 x 2 n + 1 x 0 x 0 n + 1 ∑ i = 0 n x 0 n − i x 1 i x 1 x 1 n + 1 ∑ i + j + k = n − 1 x 0 i x 1 j x 2 k ∑ i = 0 n x 1 n − i x 2 i ∑ i + j + k = n − 1 x 1 i x 2 j x 3 k − ∑ i + j + k = n − 1 x 0 i x 1 j x 2 k x 3 − x 0 = ∑ i + j + k + l = n − 2 x 0 i x 1 j x 2 k x 3 l x 2 x 2 n + 1 ∑ i + j + k = n − 1 x 1 i x 2 j x 3 k ∑ i = 0 n x 2 n − i x 3 i x 3 x 3 n + 1 x 0 x 0 3 x 0 2 + x 0 x 1 + x 1 2 x 1 x 1 3 x 0 + x 1 + x 2 x 1 1 + x 1 x 2 + x 2 2 1 x 2 x 2 3 x 1 + x 2 + x 3 0 x 2 2 + x 2 x 3 + x 3 2 1 x 3 x 3 3 x 2 + x 3 + x 4 x 3 2 + x 3 x 4 + x 4 2 x 4 x 4 3 x 0 x 0 4 x 0 3 + x 0 2 x 1 + x 0 x 1 2 + x 1 3 x 1 x 1 4 x 0 2 + x 0 x 1 + x 1 2 + x 0 x 2 + x 1 x 2 + x 2 2 x 1 3 + x 1 2 x 2 + x 1 x 2 2 + x 2 3 x 0 + x 1 + x 2 + x 3 x 2 x 2 4 x 1 2 + x 1 x 2 + x 2 2 + x 1 x 3 + x 2 x 3 + x 3 2 1 x 2 3 + x 2 2 x 3 + x 2 x 3 2 + x 3 3 x 1 + x 2 + x 3 + x 4 0 x 3 x 3 4 x 2 2 + x 2 x 3 + x 3 2 + x 2 x 4 + x 3 x 4 + x 4 2 1 x 3 3 + x 3 2 x 4 + x 3 x 4 2 + x 4 3 x 2 + x 3 + x 4 + x 5 x 4 x 4 4 x 3 2 + x 3 x 4 + x 4 2 + x 3 x 5 + x 4 x 5 + x 5 2 x 4 3 + x 4 2 x 5 + x 4 x 5 2 + x 5 3 x 5 x 5 4 x 0 x 0 5 ∑ i = 0 4 x 0 4 − i x 1 i x 1 x 1 5 ∑ i + j + k = 3 x 0 i x 1 j x 2 k ∑ i = 0 4 x 1 4 − i x 2 i ∑ i + j + k + l = 2 x 0 i x 1 j x 2 k x 3 l x 2 x 2 5 ∑ i + j + k = 3 x 1 i x 2 j x 3 k ∑ i = 0 4 x i ∑ i = 0 4 x 2 4 − i x 3 i ∑ i + j + k + l = 2 x 1 i x 2 j x 3 k x 4 l 1 x 3 x 3 5 ∑ i + j + k = 3 x 2 i x 3 j x 4 k ∑ i = 1 5 x i 0 ∑ i = 0 4 x 3 4 − i x 4 i ∑ i + j + k + l = 2 x 2 i x 3 j x 4 j x 5 l 1 x 4 x 4 5 ∑ i + j + k = 3 x 3 i x 4 j x 5 k ∑ i = 2 6 x i ∑ i = 0 4 x 4 4 − i x 5 i ∑ i + j + k + l = 2 x 3 i x 4 j x 5 k x 6 l x 5 x 5 5 ∑ i + j + k = 3 x 4 i x 5 j x 6 k ∑ i = 0 4 x 5 4 − i x 6 i x 6 x 6 5
↑
[ y 0 ] = y 0 [ y 0 , y 1 ] = y 1 − y 0 x 1 − x 0 = y 0 x 0 − x 1 + y 1 x 1 − x 0 = ∑ j = 0 1 y j ∏ k = 0 , k ≠ j 1 ( x j − x k ) [ y 0 , y 1 , y 2 ] = y 1 x 1 − x 2 + y 2 x 2 − x 1 − y 0 x 0 − x 1 − y 1 x 1 − x 0 x 2 − x 0 = y 0 ( x 0 − x 1 ) ( x 0 − x 2 ) + y 1 ( x 1 − x 0 ) ( x 1 − x 2 ) + y 2 ( x 2 − x 0 ) ( x 2 − x 1 ) = ∑ j = 0 2 y j ∏ k = 0 , k ≠ j 2 ( x j − x k ) [ y 0 , y 1 , … , y n ] = ∑ j = 0 n y j ∏ k = 0 , k ≠ j n ( x j − x k ) [ y 0 , y 1 , … , y n + 1 ] = ∑ j = 1 n + 1 y j ∏ k = 1 , k ≠ j n + 1 ( x j − x k ) − ∑ j = 0 n y j ∏ k = 0 , k ≠ j n ( x j − x k ) x n + 1 − x 0 = y n + 1 ∏ k = 1 n ( x n + 1 − x k ) + ∑ j = 1 n y j ( 1 ∏ k = 1 , k ≠ j n + 1 ( x j − x k ) − 1 ∏ k = 0 , k ≠ j n ( x j − x k ) ) − y 0 ∏ k = 1 n ( x 0 − x k ) x n + 1 − x 0 = y n + 1 ∏ k = 1 n ( x n + 1 − x k ) + ∑ j = 1 n y j ( x j − x 0 ∏ k = 0 , k ≠ j n + 1 ( x j − x k ) − x j − x n + 1 ∏ k = 0 , k ≠ j n + 1 ( x j − x k ) ) − y 0 ∏ k = 1 n ( x 0 − x k ) x n + 1 − x 0 = y n + 1 ∏ k = 1 n ( x n + 1 − x k ) + ∑ j = 1 n y j ( x n + 1 − x 0 ∏ k = 0 , k ≠ j n + 1 ( x j − x k ) ) − y 0 ∏ k = 1 n ( x 0 − x k ) x n + 1 − x 0 = y n + 1 ∏ k = 0 n ( x n + 1 − x k ) + ∑ j = 1 n y j ∏ k = 0 , k ≠ j n + 1 ( x j − x k ) + y 0 ∏ k = 1 n + 1 ( x 0 − x k ) = ∑ j = 0 n + 1 y j ∏ k = 0 , k ≠ j n + 1 ( x j − x k )
↑ 《数值分析及科学计算》 薛毅(编) 第六章 第2节 Newton插值. P200.
↑ 《数值分析及科学计算》 薛毅(编) 第六章 第2节 Newton插值. P201.
↑
x 0 x 0 3 x 0 2 + x 0 x 1 + x 1 2 x 1 x 1 3 x 0 + x 1 + x 2 x 0 2 + x 0 x 2 + x 2 2 1 x 2 x 2 3 x 0 + x 1 + x 3 0 x 0 2 + x 0 x 3 + x 3 2 1 x 3 x 3 3 x 0 + x 1 + x 4 x 0 2 + x 0 x 4 + x 4 2 x 4 x 4 3
↑ Template:Cite web
↑
N 1 ( x ) = [ y 0 ] + [ y 0 , y 1 ] ( x − x 0 ) = y 0 + y 0 x − x 0 x 0 − x 1 + y 1 x − x 0 x 1 − x 0 = y 0 ( 1 + x − x 0 x 0 − x 1 ) + y 1 x − x 0 x 1 − x 0 = y 0 x − x 1 x 0 − x 1 + y 1 x − x 0 x 1 − x 0 = ∑ j = 0 1 y j ∏ k = 0 , k ≠ j 1 x − x k x j − x k N n ( x ) = ∑ j = 0 n y j ∏ k = 0 , k ≠ j n x − x k x j − x k N n + 1 ( x ) = N n ( x ) + [ y 0 , y 1 , … , y n + 1 ] ∏ k = 0 n ( x − x k ) = ∑ j = 0 n y j ∏ k = 0 , k ≠ j n x − x k x j − x k + ∑ j = 0 n + 1 y j ∏ k = 0 n ( x − x k ) ∏ k = 0 , k ≠ j n + 1 ( x j − x k ) = ∑ j = 0 n y j ( ∏ k = 0 , k ≠ j n ( x − x k ) ∏ k = 0 , k ≠ j n ( x j − x k ) + ∏ k = 0 n ( x − x k ) ∏ k = 0 , k ≠ j n + 1 ( x j − x k ) ) + y n + 1 ∏ k = 0 n ( x − x k ) ∏ k = 0 n ( x n + 1 − x k ) = ∑ j = 0 n y j ( ( ∏ k = 0 , k ≠ j n ( x − x k ) ) ( x j − x n + 1 ) ∏ k = 0 , k ≠ j n + 1 ( x j − x k ) + ( ∏ k = 0 , k ≠ j n ( x − x k ) ) ( x − x j ) ∏ k = 0 , k ≠ j n + 1 ( x j − x k ) ) + y n + 1 ∏ k = 0 n ( x − x k ) ∏ k = 0 n ( x n + 1 − x k ) = ∑ j = 0 n y j ( ∏ k = 0 , k ≠ j n ( x − x k ) ) ( x − x n + 1 ) ∏ k = 0 , k ≠ j n + 1 ( x j − x k ) + y n + 1 ∏ k = 0 n ( x − x k ) ∏ k = 0 n ( x n + 1 − x k ) = ∑ j = 0 n + 1 y j ∏ k = 0 , k ≠ j n + 1 x − x k x j − x k
↑ Template:Cite book
↑
△ k y i = ∑ j = 0 k k ! ∏ l = 0 , l ≠ j k ( j − l ) y i + j , 0 ≤ k ≤ n − i = ∑ j = 0 k k ! j ! ( − 1 ) k − j ( k − j ) ! y i + j , 0 ≤ k ≤ n − i = ∑ j = 0 k ( − 1 ) k − j ( k j ) y i + j , 0 ≤ k ≤ n − i
↑ Methodus Incrementorum Directa et Inversa Template:Wayback