• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
59
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

題目:以有限差分應用到泰勒級數法之相關研究

系 所 別: 應用數學系 碩士班 學號姓名: M09309008 張玄麒 指導教授: 李 明 恭 博士

中華民國 九十六 年 八 月

(2)

摘 要

本文在於使用有限差分去逼近導數,解決泰勒級數法(Taylor series method)在計算各階導數的問題,並探討以有限差分逼近各階偏 導數以及使用有限差分逼近導數對於泰勒級數法精確度的影響。本文 使用 Matlab 的界面去編撰程式,利用前向差分(forward difference)、中 央差分(central difference)及後向差分(backward difference)還有理查生 外插法(Richardson extrapolation)來做各階有限差分的結合使用,並以 數個剛性常微分方程初始解問題(stiff ODE initial value problem)的例題 去驗證此方法的準確性。最後應用於機械動力系統(mechanical dynamic systems)中的速度與加速度限制式,使用有限差分求得限制式中的 Jacobian,並與其精確值做比較,說明以有限差分逼近導數不僅可使用 在常微分方程中,亦可應用在微分代數方程(Differential–Algebraic Equations) 中。

(3)

目 錄

摘 要 ...I 目 錄 ...II 圖 目 錄 ...IV 表 目 錄 ...V

第一章、 緒論 ...1

1.1 文獻回顧 ...1

1.2 研究動機 ...3

第二章、 函數表示與差分的逼近 ...4

2.1 函數的表示 ...4

2.2 函數差分的逼近 ...5

2.2.1 二階導數差分的逼近 ...5

2.2.2 三階導數的差分逼近 ...8

2.2.3 四階導數的差分逼近 ...10

第三章、 差分逼近導數與泰勒級數法的精確度 ...12

3.1 二階差分逼近導數與泰勒級數法的精確度 ...12

3.2 三階差分逼近導數與泰勒級數法的精確度 ...16

3.3 四階差分逼近導數與泰勒級數法的精確度 ...19

第四章、泰勒級數法使用差分逼近導數的電腦驗證 ...21

(4)

4.1 差分逼近導數精確度的驗證 ...21

4.1.1 差分逼近程式的表示 ...21

4.1.2 二階差分逼近導數的精確度驗證 ...23

4.1.3 三階差分逼近導數的精確度驗證 ...24

4.1.4 四階差分逼近導數的精確度驗證 ...25

4.2 泰勒級數法以差分逼近導數精確值的電腦驗證 ...26

4.2.1 電腦測試 ...26

4.2.2 泰勒級數法以差分逼近導數的驗證與比對 ...29

4.3 剛性常微分方程初始解使用泰勒級數法以差分逼近導數 ..31

第五章、應用實例的探討 ...39

5.1 彈性單連桿系統運動方程式及其限制式 ...39

5.2 彈性單連桿系統的實例與探討 ...45

第六章、結論 ...49

6.1 研究結果 ...49

6.2 研究討論與未來研究的方向 ...49

參考文獻 ...51

(5)

圖 目 錄

圖 1 泰勒級數法之數值逼近(使用 Matlab) ...27

圖 2 剛性常微分方程使用差分逼近導數之泰勒級數法數值解圖 ...32

圖 3 各函數由泰勒級數法累積 1 萬次的結果 ...36

圖 4 各函數由泰勒級數法累積 10 萬次的結果 ...36

圖 5 j j f E Y ∂ − ∂ 的比較圖...37

圖 6 彈性單連桿之系統...40

圖 7 彈性單連桿系統之精確聯立數值解圖...45

圖 8 彈性單連桿系統之差分逼近導數聯立數值解圖 ...46

(6)

表 目 錄

表 1 當

h

= 0 .0 5 時, , ,

A C D E

, 的誤差值...23

表 2 當

h

= 0 .0 0 5 時, , ,

A C D E

, 的誤差值 ...24

表 3 當

h

= 0 .0 5 時

G

1的誤差值 ...24

表 4 當

h

= 0 .0 0 5

G

1的誤差值...24

表 5 當

h

= 0 .0 5 時

T

1的誤差值 ...25

表 6 當

h

= 0 .0 0 5

T

1的誤差值...25

表 7 泰勒級數法在一子區間之逼近值(使用 Matlab) ...27

表 8 泰勒級數法在一子區間之導數逼近值(使用 Maple) ...29

表 9 泰勒級數法在一子區間之導數逼近值(使用 Matlab) ...29

表 10 泰勒級數法在一子區間之導數逼近值(精確值) ...30

表 11 泰勒級數法在一子區間之逼近值 ...30

表 12 以差分逼近導數之泰勒級數法在一子區間的誤差(使用 Matlab) ...31

表 13 剛性常微分方程使用差分逼近導數之泰勒級數法在一區間之 導數逼近值(h=4 10× 10) ...32

表 14 剛性常微分方程使用泰勒級數法在一區間之導數逼近值(精確 值) ...33

表 15 剛性常微分方程使用泰勒級數法在一區間之逼近值 ...33

(7)

表 16 替代變數 ...35

表 17 參數值 ...35

表 18 彈性單連桿系統之精確聯立數值解...46

表 19 彈性單連桿系統之差分逼近導數聯立數值解 ...47

(8)

第一章、 緒論 1.1 文獻回顧

泰勒級數法是最早用來解決常微分方程初始值的方法之一,亦有 許多方法由泰勒級數法推導而來,如牛頓曾經引用泰勒級數法而推導 出牛頓法(Newton’s Method) [8],尤拉也用泰勒級數法推導出尤拉法 (Euler’s Method)[10],從那之後,陸陸續續也有學者引用泰勒級數法,

像是 J.Liouville[9]、G.peano[7]及 E.Picard[4]。甚至有些人更改善了 泰勒級數法如 A.Gibbons[1]和 R.E.Moore[12]。但是泰勒級數法在現今 卻很少被使用,因為在計算其各階導數非常耗時且容易出錯,例如當 須要計算高精準度的導數時,其計算的過程會非常複雜且麻煩,而當 常微分方程中的變數,需要隨著模組而時常改變時,其計算過程會非 常的耗時。

有限差分逼近導數是微分最初的方法,最早可朔及萊布尼茲 (Gottfried Wilhelm Leibniz)使用差和分根本定理(fundamental theorem of diff-sum)推導出微分中的差分理論[3],成為有限差分最早的源起,

現今的有限差分有最基本的前向差分(forward difference)、後向差分 (backward difference)、中央差分(central difference),以及結合外插觀 念 與 差 分 原 理 所 衍 生 出 較 準 確 之 理 查 生 外 插 法 (Richardson extrapolation)[11] ,此法主要利用較低準確度的差分法,先求得不同

(9)

變量之下的導數值,再利用外插法消去影響誤差最大之數值,而求得 較準確之導數值。 E. Miletics 和 G. Molnárka [5]探討將有限差分逼近 導數應用在泰勒級數法中,並探討其精確值。

(10)

1.2 研究動機

常微分方程是在許多領域中都會遇到的問題,而泰勒級數法則是 最早被用來解決常微分方程的方法之一,雖然因為計算其導數的過程 非常的耗時且容易出錯,但是泰勒級數法在積分常微分方程卻擁有很 高的精確度。

本論文將修改 E. Miletics 和 G. Molnárka[5]論文中其複雜化的表 示式,使用 Matlab 界面重新編撰程式,並且使程式可以更自由的依據 所需要的精確度,將前向差分、後向差分、中央差分及理查生外插法 所衍生出的差分做彈性的組合去計算各階的導數,期望不僅可以解決 泰勒級數法中計算導數的問題,也可以應用在所有需要解決導數的微 分方程中。

(11)

第二章、 函數表示與差分的逼近 2.1 函數的表示

函數:

( ) ( , ( )),

y x ′ = f x y x

y

(

x

0) =

y

0,

其中

x

∈[

x

0,

x

0 +

T

],

y x

( ) =[

y x

1( ),

y

2( ), ...,

x y

n( )] :

x

ℜ → ℜn, 給定一 p 值,使得函數

y

i

( x ) ∈ C

p+1

([ x

0

, x

0

+ T ]), i = 1 ,..., n

T

n

x y x

f x

y x f x y x f x

y x

f ( , ( )) = [

1

( , ( )),

2

( , ( )),..., ( , ( ))]

. 因為函數

1 2 1 2

( , ( )) ( ,[ ( ), ( ),..., n( )]) ( , ( ), ( ),..., n( ))

f x y x

=

f x y x y x y x

=

f x y x y x y x

所以

0 0 0 0 1 0 0 0 1 0 0

( ) ( , ( )) ( ,[ ( ),..., ( )]) ( , ( ),..., ( ))

i i i n i n

y x

′ =

f x y x

=

f x y x y x

=

f x y x y x

其中

i

= 1,...,

n

為了方便表示,令

Y x

( ) = [ ,

x y x

1( ),

y

2( ), ...,

x y

n( )] :

x

ℜ → ℜn+1則:

1 2

( , ( )) ( ( )) [ ( ( )), ( ( )), ..., n( ( ))]T

f x y x

=

f Y x

=

f Y x f Y x f Y x

(1)

1 2 1

( )

dY x

( ) [ , ( ), ( ),..., n( )] [1, ( ( )),..., n( ( )] ( )

Y x x y x y x y x f Y x f Y x F x

′ =

dx

= ′= = (2)

在此令

Y x

0( ) =

x Y x

, 1( ) =

y

1, ...,

Y

n( )

x

=

y

n

令函數 fi(x, y(x)),

i

= 1,...,

n

是一個 p+1 次可微的連續函數,則用此 函數來表示泰勒級數法:

(12)

2 3

0 0 0 0 0

1 1

( ) ( ) ( ) ( ) ( ) ...

2 ! 3 !

y x

+

s

=

y x

+

y x

s

+

y

′′

x s

+

y

′′′

x s

+

+ ( 1) 0

1 ( ),

( 1)!

y p x s

p

+ + ⊕

+ (3)

此為泰勒級數法對於

x

0 +

s

的逼近值,最後一項的

s

只是用來區別與 前幾項的 s 不同。

2.2 函數差分的逼近

2.2.1 二階導數差分的逼近

由(1)跟(2),我們可推得二階導數差分的表示式為:

( ) ( ) [ 1( ( )), ..., n( ( ))]T y′′ x = fx = f Y xfY x =

1( ( )) ( ) ( ( )) ( )

[(

f Y x dY x

),..., (

f Y x

n

dY x

)]T

f

,

Y dx Y dx Y F

∂ ∂

= ⋅ ⋅ =

∂ ∂ ∂ (4)

因為此函數為多變數,所以在此使用 Chain Rule 的方法,其中

f

k ( )

x Y

∂ ,

n

k = 1 , 2 ,...,

表示逐步的將 f 對 y 的分量做偏微,

f Y F

∂ 代表每一

個分量的運算方式。在此,對於 fk ( )x Y

∂ ,

k = 1 , 2 ,..., n

的偏微使用 差分逼近,得到:

1 1 1

1 1 1

1 1 1

[ ]

[

] [

1{[ ( , ( ),... ( )),..., ( , ( ),... ( )) ( , ( ),... ( )),..., ( , ( ),... ( )) ],..., [ ( , ( ),... ( ) ),..., ( , ( ),... ( ) )

n n n

n n n

n n n

A f x h y x y x f x h y x y x

h

f x y x y x f x y x y x

f x y x y x h f x y x y x h

f

= + + −

+ + −

] [

1( ,

x y x

1( ),...

y

n( )),...,

x f

n( ,

x y x

1( ),...

y

n( )) ]}

x

]

(5)

(13)

1 1 1

1 1 1

1 1 1

1

[ ]

[

] [

1{[ ( , ( ),... ( )),..., ( , ( ),... ( ))

( , ( ),... ( )),..., ( , ( ),... ( )) ],..., [ ( , ( ),... ( )),..., ( , ( ),... ( ))

( ,

n n n

n n n

n n n

B f x y x y x f x y x y x

h

f x h y x y x f x h y x y x f x y x y x f x y x y x

f x

= −

− − −

] [

1( ),... n( ) ),..., n( , 1( ),... n( ) ) ]}]

y x y x

h f x y x y x

h

(6)

1 1 1

1 1 1

1 1 1

[ ]

[

]

1 {[ ( , ( ),... ( )),..., ( , ( ),... ( )) 2

( , ( ),... ( )),..., ( , ( ),... ( )) ],..., [ ( , ( ),... ( ) ),..., ( , ( ) ,... ( ))

n n n

n n n

n n n

C f x h y x y x f x h y x y x

h

f x h y x y x f x h y x y x f x y x y x h f x y x h y x

= + + −

− − −

+ + −

] [

1 1 1

[ ]

( ,−

f x y x

( ),...

y x

n( )−

h

),...,

f

n( ,

x y x

( ),...

y x

n( )−

h

) ]}

(7)

1 1 1

1 1 1

1 1 1

[ ]

[ ]

[ ]

1 {[ ( 2 , ( ),... ( )),..., ( 2 , ( ),... ( )) 6

6 ( , ( ),... ( )),..., ( , ( ),... ( )) 3 ( , ( ),... ( )),..., ( , ( ),... ( ))

n n n

n n n

n n n

D f x h y x y x f x h y x y x

h

f x h y x y x f x h y x y x f x y x y x f x y x y x

= − − −

− − − +

+ +

1 1 1

1 1 1

1 1 1

[ ]

[ ]

[ ]

2 ( , ( ),... ( )),..., ( , ( ),... ( )) ],..., [ ( , ( ),... ( ) 2 ),..., ( , ( ),... ( ) 2 ) 6 ( , ( ),... ( ) ),..., ( , ( ),... ( ) )

n n n

n n n

n n n

f x h y x y x f x h y x y x f x y x y x h f x y x y x h

f x y x y x h f x h y x y x h

+ + +

− − −

− − − − +

1 1 1

1 1 1

[ ]

[ ]

3 ( , ( ),... ( )),..., ( , ( ),... ( )) 2 ( , ( ),... ( ) ),..., ( , ( ),... ( ) ) ]}

n n n

n n n

f x y x y x f x y x y x f x y x y x h f x y x y x h

+ +

+ + +

(8)

1 1 1

1 1 1

1 1 1

[ ]

[ ]

[ ]

1 {[ ( 2 , ( ),... ( )),..., ( 2 , ( ),... ( )) 12

8 ( , ( ),... ( )),..., ( , ( ),... ( )) 8 ( , ( ),... ( )),..., ( , ( ),... ( ))

n n n

n n n

n n n

E f x h y x y x f x h y x y x

h

f x h y x y x f x h y x y x f x h y x y x f x h y x y x

= − − −

− − − +

+ + + −

1 1 1

1 1 1

1 1 1

[ ]

[ ]

[ ]

( 2 , ( ),... ( )),..., ( 2 , ( ),... ( )) ],..., [ ( , ( ),... ( ) 2 ),..., ( , ( ),... ( ) 2 ) 8 ( , ( ),... ( ) ),..., ( , ( ),... ( ) )

n n n

n n n

n n n

f x h y x y x f x h y x y x f x y x y x h f x y x y x h

f x y x y x h f x y x y x h

− + +

− − −

− − − +

1 1 1

1 1 1

[ ]

[ ]

8 ( , ( ),... ( ) ),..., ( , ( ),... ( ) ) ( , ( ),... ( ) 2 ),..., ( , ( ),... ( ) 2 ) ]}

n n n

n n n

f x y x y x h f x y x y x h f x y x y x h f x y x y x h

+ + + −

− + +

(9)

在此,A、B 和 C 分別為前向、後向差分以及中央差分,D 跟 E 則是 理查生外插法所推導出的差分。

(14)

為方便簡化表示(5)、(6)、(7)及(8)跟(9)的複雜度,定義一函數如下:

,

1 1 1

( , ( )) [ ( , ( ),..., ( ) ,...),..., ( , ( ),..., ( ) ,...)] ,

k i T

k n k

F x y x

=

f x y x y x

+

ih f x y x y x

+

ih

0, ..., ,

k

=

n i

= 0 ,± 1,± 2 ,... (10) 當 k=0 時,表示先前與 Y 函數合併的 x 值。

由上述所定義的函數表示式,我們可輕易的列出(5)、(6)、(7)及(8) 跟(9)的二階導數差分逼近的表示式:

)], (

),..., (

),

1 [( 0,1 0,0 1,1 1,0 n,1 n,0

F F

F F

F h F

A

= − − − (11)

0 ,0 0 , 1 1,0 1, 1 ,0 , 1

1 [( ), ( ), ..., ( n n )],

B F F F F F F

h

= − − − (12)

0 ,1 0 , 1 1,1 1, 1 ,1 , 1

1 [( ), ( ), ..., ( )],

2

n n

C F F F F F F

h

= − − − (13)

0 , 2 0 , 1 0 ,0 0 ,1

, 2 , 1 ,0 0 ,1

1 [( 6 3 2 ), ...,

6

( n 6 n 3 n 2 )],

D F F F F

h

F F F F

= − + +

− + +

(14)

0 , 2 0 , 1 0 ,1 0 , 2

, 2 , 1 ,1 0 , 2

1 [( 8 8 ), ...,

1 2

( n 8 n 8 n )],

E F F F F

h

F F F F

= − + −

− + − (15)

(15)

2.2.2 三階導數的差分逼近

三階差分的 Jacobian 比二階又複雜一些,由(4)的 Chain Rule 得 到:

2

(

f

) (

f

2 )

f

(

F

)

y F F FF F

Y Y Y Y

∂ ∂ ∂ ∂

′′′= ′′ = ′ = +

∂ ∂ ∂ ∂ . (16) 如同二階差分,為方便簡化其表示示,定義函數如下:

, (..., , ..., , ...)

kl ij

k l

F

=

f y

+

ih y

+

jh

, ,

k l

=0,1,...,

n

,

i

,

j

=0,±1,±2...

, ( . . . , , . . . )

k k i i

F

=

f y

k +

i h

, ,

k l

= 0,1, ...,

n

,

i

= 0,±1,±2...

三階導數的差分逼近是由二階推導而來,將函數皆以前向差分逼近 得到:

0 ,11 0 ,10 0 ,01 0 ,00

2

1 [( m m m m ), ...,

I

m

F F F F

=

h

− − +

(Fm0 ,20 −2Fm0 ,10 + Fm0 ,00), ..., (17)

,11 ,10 ,01 ,00

(

F

mn

F

mn

F

mn +

F

mn )],

m

= 0,1, ...,

n

或者將函數皆以理查生外插法所得的差分D 來逼近,其表示式為:

0 , 2 2 0 , 2 1 0 , 20 0 , 21

2

1 [(( 6 3 )

36

m m m m

W

m

F F F F

h

− − − −

= − + + −

−6(Fm0 , 1 2− − −6Fm0 , 1 1− − +3Fm0 , 10 + Fm0 , 11 )+ +3(Fm0 ,0 2 −6Fm0 ,0 1 +3Fm0 ,00 + Fm0 ,01)+

+2(Fm0 , 1 2− − −6Fm0 , 1 1− − +3Fm0 , 10 + Fm0 , 11 )), ..., (18)

, 2 2 , 2 1 , 20 , 21

((

F

m n − − − 6

F

m n − − + 3

F

m n +

F

m n )−

(16)

−6(Fmn, 1 2− − −6Fmn, 1 1− − +3Fmn, 10 + Fmn, 11 )+ +3(Fmn,0 2 −6Fmn,0 1 +3Fmn,00 + Fmn,01)+

+2(Fmn, 1 2− − −6Fmn, 1 1− − +3Fmn, 10 + Fmn, 11 ))],

m

= 0,1, ...,

n

由於在表示式上Im的表示略有不齊,而Wm 在表示上卻太冗長,在為了 在表示上能夠更整齊更簡潔,先將函數以中央差分法做二階導數差分 逼近,再將之以後向差分逼近得到Gm如下:

0 ,10 0 , 10 0 , 1 1 0 , 1 1

2

1 [( ), ...,

2

m m m m

G

m

F F F F

h

− − − −

= − − +

),..., 2

(

2 F mm,11F mm,00 + F mm,11 (19) )]

(

F

mn,10

F

mn,10

F

mn,11 +

F

mn,11

m

= 0,1, ...,

n

其中,當二階導數對 y 差分與三階導數對 y 差分為同一分量時,兩次皆 採取中央差分,這樣是為了使表示式更整齊。

另一方法為二階導數差分與三階導數差分皆使用中央差分,所逼近得 到Hm如下:

0 ,1 1 0 , 1 1 0 ,1 1 0 , 1 1

2

1 [( ), ...,

4

m m m m

H

m

F F F F

h

− −

= − − +

4(

F

mm,11 − 2

F

mm,00 +

F

mm,11),..., (20) )]

(

F

mn,11

F

mn,11

F

mn,11 +

F

mn,11

m

=0,1,...,

n

(17)

Gm以及Hm ,可以求得

2 2

f Y

∂ 的逼近:

0 1 0 1 0 1

2

0 1 2

[ , , ..., ] [ , , ..., ] [ , , ..., ]

[ , , ..., ]

T T T

n n n

T n

G G G H H H I I I

W W W f

Y

≈ ≈ ≈

≈ ≈ ∂

2.2.3 四階導數的差分逼近

由(16)的 Chain Rule 得到:

2 3 2

2 3 2

2 2

2

2 2

( ) ( ( )) ( )

2( ( )) ( ) ( )

IV f f F f f F

Y F FF F FFF F F

Y Y Y Y Y Y

f F f F f F

F F FF F

Y Y Y Y Y Y

∂ ∂ ∂ ∂ ∂ ∂

′′′ ′ ′

= = + = +

∂ ∂ ∂ ∂ ∂ ∂

∂ ∂ ∂ ∂ ∂ ∂

+ + +

∂ ∂ ∂ ∂ ∂ ∂

(21)

由 二 階 跟 三 階 推 得 四 階 差 分 導 數

3 3

f Y

∂ , 其 組 成 的 原 始 形 態 為

3

, 1, 2, ..., , , , 0,1, ...,

i

j k l

f i n j k l n

Y Y Y

∂ = =

∂ ∂ ∂ 。為了方便表示,定義函數

如下:

,

( ) (..., , ... , ..., , ...)

ijl m e z

k k i j l

f Y = f y + m h y + e h y + z h

,

,

( ) (..., ,..., ,...)

iil mmz

k k i l

f Y = f y + mh y + zh

,

( ) (..., ,...)

iii mmm

k k i

f Y = f y + mh

, , ,

k l i j

= 0,1, ...,

n

, , ,

m e z

= ± ±0, 1, 2...

由上面的表示式,推得四階差分的偏導數有三項式子,其中當四階差 分皆位於不同變數時,得到:

0 ,000 0 ,001 0 ,0 11 0 ,1 10

3

0 ,1 11 0 ,101 0 ,100 ,000 ,001

3

,0 11 ,1 10 ,1 11 ,101 ,100

1 [(

)], ..., 1 [(

)], , 0,1, ...

ij ij ij ij

ij

ij ij ij ijn ijn

ijn ijn ijn ijn ijn

T F F F F

h

F F F F F

h

F F F F F i j n

= − − + −

− + − − −

− + − + − =

(22)

(18)

當四階差分中,有兩次的差分位於兩個相同變數時,得到:

,000 ,0 1 1 ,011 ,100 ,1 1 1 ,111

3

(

T

ij)j 1 [2

F

ijj

F

ijj

F

ijj 2

F

ijj

F

ijj

F

ijj ]

h

− − − −

= − − − + + ,

,

i j

= 0,1, ...,

n

當四階差分中,有三次的差分位於三個相同的變數時,得到:

,111 , 222 , 1 1 1 , 2 2 2

3

( ) 1 [ 2 2 ]

2

jjj jjj jjj jjj

jj j

T F F F F

h

− − − − − −

= − + + − ,

0,1, ...,

j

=

n

以上三式求得四階差分

3 3

f Y

∂ 的表示式為:

0 0 0 3

3 0

n

n n n

T T

f

T T Y

⎡ ⎤

⎢ ⎥ ≈ ∂

⎢ ⎥ ∂

⎢ ⎥

⎣ ⎦

L

M O M

L

由於五階及其他更高階的導數,其表式示如同三階、四階導數,但是 由於其表示式過於複雜,再此便不贅述。

(19)

第三章、 差分逼近導數與泰勒級數法的精確度

由差分所逼近的導數,都會有其精確度問題,本章是探討使用差 分去逼近導數以及將其套用至泰勒級數法時,其精確度誤差的問題。

3.1 二階差分逼近導數與泰勒級數法的精確度

首先,先探討差分逼近的精確度,由(5)所得 A 之二階差分逼近導 數之精確度:

1 2

( , , , ..., )

i n

j

f x y y y

Y

∂ ,

i

=1, 2, ..., ,

n j

= 0,1, ...,

n

1 ( (..., , ...) (..., , ...))

ij i j i j

A f y h f y

=

h

+ − .

由泰勒級數法(2)展開偏導數得:

2 3

1 1

(..., ) (..., ) (..., ) (..., ) (..., ) ...,

2! 3!

i j i j i j i j i j

f y

+ =

h f y

+

f

y h

+

f

′′

y h

+

f

′′′

y h

+ (23) (..., ) (..., )

i j i j

f y

=

f y

, (24) 將兩式相減得:

2 3

1 1

(..., ) (..., ) (..., ) (..., ) (..., ) ...,

2! 3!

i j i j i j i j i j

f y

+

h

f y

=

f

y h

+

f

′′

y h

+

f

′′′

y h

+

1 1 1 2

(..., ) [ (..., ) (..., )] (..., ) (..., ) ...,

2! 3!

i j i j i j i j i j

f y f y h f y f y h f y h

h ′′ ′′′

⇒ − + − = + +

所以可以得到:

1 1 2

(..., ) (..., ) ...,

2 ! 3 !

i

ij i j i j

j

f A f y h f y h

Y

∂ − = ′′ + ′′′ +

選擇 1

0max, i (..., j)

i j n f y c

′′ = ,可得二階差分 A 與導數的誤差為:

(20)

0m ax (, i ij ) 1 i j n

j

f A c h

Y

∂ − ≤

∂ (25) 1 ( (..., , ...) (..., , ...))

ij 2 i j i j

C f y h f y h

=

h

+ − −

由泰勒級數法(2)展開偏導數得(23)及:

2 3

1 1

(..., ) (..., ) (..., ) (..., ) (..., ) ...,

2! 3!

i j i j i j i j i j

f y

− =

h f y

f

y h

+

f

′′

y h

f

′′′

y h

+ (26) 將兩式(23)及(26)相減得:

2 3

(..., ) (..., ) 2 (..., ) (..., ) ...,

i j i j i j 3! i j

f y

+

h

f y

h

=

f

y h

+

f

′′′

y h

+

1 1 2

(..., ) [ (..., ) (..., )] (..., ) ...,

2 3!

i j i j i j i j

f y f y h f y h f y h

h ′′′

⇒ − + − − = +

所以可以得到:

1 1 2

(..., ) (..., ) ...,

2 ! 3 !

i

ij i j i j

j

f C f y h f y h

Y

∂ − = ′′ + ′′′ +

選擇 2

0max, i (..., j)

i j n f y c

′′ = ,可得二階差分 C 與導數的誤差為:

2 0m ax (, i ij ) 2

i j n j

f C c h

Y

∂ − ≤

∂ (27)

0 , 2 0 , 1 0 ,0 0 ,1

, 2 , 1 ,0 0 ,1

1 [( 6 3 2 ), ...,

6

( 6 3 2 )],

ij

n n n

D F F F F

h

F F F F

= − + +

− + +

由泰勒級數法(2)展開偏導數得(23)、(24)、(26)及:

2 3

1 1

(..., 2 ) (..., ) (..., )2 (..., )(2 ) (..., )(2 )

2! 3!

i j i j i j i j i j

f y

h

=

f y

f

y h

+

f

′′

y h

f

′′′

y h

+

4 5

1 1

(..., )(2 ) (..., )(2 )

4! 5!

IV V

i j i j

f y h f y h

+ − (28)

將(23)、(24)、(26)及(28)運算得:

(21)

(..., 2 ) 6 (..., ) 3 (..., ) 2 (..., )

i j i j i j i j

f y

h

f y

h

+

f y

+

f y

+

h

=

4 5

12 24

6 (..., ) (..., ) (..., ) , ...

4 ! 5!

IV V

i j i j i j

f

y h

+

f y h

f y h

(..., ) [ (..., 2 ) 6 (..., ) 3 (..., ) 2 (..., )]

i j i j i j i j i j

f

y f y h f y h f y f y h

⇒ − − − − + + + =

3 4

2 4

(..., ) (..., ) , ...

4! 5!

IV V

i j i j

f y h

f y h

所以可以得到:

3 4

1 2 2 4

(..., ) (..., ) ...,

4 ! 5 !

IV V

i

ij i j i j

j

f D f y h f y h

Y

∂ − = −

選擇 3

0max, iIV(..., j)

i j n f y c

= ,可得二階差分 D 與導數的誤差為:

3 0m ax (, i ij ) 3

i j n j

f D c h

Y

∂ − ≤

∂ (29)

0 , 2 0 , 1 0 ,1 0 , 2

, 2 , 1 ,1 0 , 2

1 [( 8 8 ), ...,

1 2

( 8 8 )],

ij

n n n

E F F F F

h

F F F F

= − + −

− + −

由泰勒級數法(2)展開偏導數得(23)、(26)、(28)及:

2 3

1 1

(..., 2 ) (..., ) (..., )2 (..., )(2 ) (..., )(2 )

2! 3!

i j i j i j i j i j

f y

+

h

=

f y

+

f

y h

+

f

′′

y h

+

f

′′′

y h

+

4 5 6

1 1 1

(..., )(2 ) (..., )(2 ) (..., )(2 )

4! 5! 6!

IV V VI

i j i j i j

f y h f y h f y h

+ + + (30)

將(23)、(26)、(28)及(30)運算得:

(..., 2 ) 8 (..., ) 8 (..., ) (..., 2 )

i j i j i j i j

f y

h

f y

h

+

f y

+

h

f y

+

h

= 16 5

12 (..., ) (..., ) , ...

5!

V

i j i j

f

y h

+

f y h

(..., ) [ (..., 2 ) 8 (..., ) 8 (..., ) (..., 2 )]

i j i j i j i j i j

f

y f y h f y h f y h f y h

⇒ − − − − + + − + =

(22)

4 1 4

(..., ) , ...

3 5!

V

i j

f y h

所以可以得到:

4 1 4

(..., ) , ...

3 5 !

i V

ij i j

j

f E f y h

Y

∂ − = ⋅

選擇 4

0max, iV(..., j)

i j n f y c

= ,可得二階差分 E 與導數的誤差為:

4 0m ax (, i ij ) 4

i j n j

f E c h

Y

∂ − ≤

∂ (31)

再者,將泰勒級數法之導數以差分逼近得:

1 2

( ) ( ) ( ) ( ) ( )

k k k 2! k k

y x) +s = y x + f x s+ A x F x s , (32) 此泰勒級數法與原式(2)之泰勒級數法其精確度由(25)可推得如

下:

( k ) ˆ( k ) y x +sy x + s

2 3 4 2 2

1 1 1

( ) ( ) ( ) ( ) ( ) ( )

2 ! k 3! k 2 ! k k

y x s y x s O s f x F x s O s h

Y

′′ ′′′ ∂

≤ + + − + ≤

3 4 2 3 3

1 ( ) ( ) ( ) ( )

3!y′′ xk s +O s +O s h = O scs .

(23)

3.2 三階差分逼近導數與泰勒級數法的精確度

三階差分逼近導數,其精確度為:

2

1 2

( , , , ..., )

i n

j k

f x y y y Y Y

∂ ∂ , i=1, 2,..., , ,n j k =0,1,...,n 如同二階差分逼近導數,使用泰勒級數法(2)可推得:

2 3

(..., ,..., ,...) (..., ,..., ,...) (..., ,..., ,...)

1 1

+ (..., ,..., ,...)( ) (..., ,..., ,...)( ) ...

2! 3!

i j k i j k i j k

i j k i j k

f y h y f y y f y y h

f y y h f y y h

+ = + ′ +

′′ + ′′′ + (33)

2 3

(..., ,..., ,...) (..., ,..., ,...) (..., ,..., ,...)

1 1

+ (..., ,..., ,...)( ) (..., ,..., ,...)( ) ...

2! 3!

i j k i j k i j k

i j k i j k

f y h y h f y y h f y y h h

f y y h h f y y h h

+ − = − + ′ − +

′′ − + ′′′ − + (34)

2 3

(..., ,..., ,...) (..., ,..., ,...) (..., ,..., ,...)

1 1

+ (..., ,..., ,...)( ) (..., ,..., ,...)( ) ...

2! 3!

i j k i j k i j k

i j k i j k

f y h y f y y f y y h

f y y h f y y h

− = − ′ +

′′ − ′′′ + (35)

2 3

(..., ,..., ,...) (..., ,..., ,...) (..., ,..., ,...)

1 1

+ (..., ,..., ,...)( ) (..., ,..., ,...)( ) ...

2! 3!

i j k i j k i j k

i j k i j k

f y h y h f y y h f y y h h

f y y h h f y y h h

− − = − − ′ − +

′′ − − ′′′ − + (36)

將(33)、(34)、(35)及(36)運算得:

(..., ,..., ,...) (..., ,..., ,...) (..., ,..., ,...) (..., ,..., ,...) 2( (..., ,..., ,...) (..., ,..., ,...))

2( (..., ,..., ,...) (..., , 3!

i j k i j k i j k

i j k i j k i j k

i j k i j

f y h y f y h y h f y h y

f y h y h f y y f y y h h

f y y f y

+ − + − − − +

′ ′

+ − − = − − +

′′′ ′′′

+ − ...,

y

k

h

,...))

h

3+...

可以得到:

(24)

( ) [( (..., ,..., ,...) (..., ,..., ,...)) / ] ( 1 (..., ,..., ,...) (..., ,..., ,...)) ...

3!

i jk i j k i j k

i j k i j k

G f y y f y y h h

f y y f y y h h

′ ′

− − − =

′′′ − ′′′ − + (37)

又由 y 的二階導數可推得:

2

1 2

2

( , , ,..., )

[( (..., ,..., ,...) (..., ,..., ,...)) / ]

1 1

(..., ,..., ,...) (..., ,..., ,...) ...

2! 3!

j n

i j k i j k

i k

IV

i j k i j k

f x y y y

f y y f y y h h

Y Y

f y y h f y y h

∂ − ′ − ′ −

∂ ∂

= − ′′′ + +

(38)

所以由(37)及(38)運算得:

2

1 2

( , , ,..., ) ( )

[1 ( (..., ,..., ,...) (..., ,..., ,...) ...) 3!

1 1

( (..., ,..., ,...) (..., ,..., ,...) ...)]

2! 3!

j n

i jk

i k

i j k i j k

IV

i j k i j k

f x y y y

G Y Y

f y y f y y h

f y y f y y h h

−∂ =

∂ ∂

′′′ ′′′

= − − + −

− ′′′ + +

所以

2

1 2

( , , , ..., ) ( i)jk i n ijk

j k

f x y y y

G c h

Y Y

= ∂ +

∂ ∂ ,

i

=1, 2, ..., , ,

n j k

= 0,1, ...,

n

選擇 5

0m ax, , iIV (..., j, ..., k, ...)

i j k n f y y c

= ,可得三階差分與導數的誤差

為:

2

0max (, , i ( i)jk ) 5 i j k n

j k

f G c h

Y Y

∂ − ≤

∂ ∂ , (39) 亦可用上述的方法,推得 H(20)的誤差。

將三階差分逼近

G

i代入泰勒級數法,因為此三階差分是採用一次中央 差分,一次後向差分,故此三階差分的二階差分為 C ,得到:

(25)

1 2

ˆ ( ) ( ) ( ) ( ) ( )

k k k 2 ! k k

y x

+

s

=

y x

+

f x s

+

C x F x s

+

0 1

1 {[( ( ) ( ), ( )), ( ( ) ( ), ( )), ...,

3!

G x

k

F x

k

F x

k

G x

k

F x

k

F x

k (40) (

G

n(

x

k)

F x

( k),

F x

( k))]T +

C

2(

x

k)

F x

( k)}

s

3

利用(40)之泰勒級數法可推得如下:

( k ) ˆ( k )

y x

+

s

y x

+

s

3 / 4 5

2

3 2 2 3

2

1 1

( ) ( ) ( )

3! 4 !

1 [( ) )] ( ) ( )

3!

V

k k

y x s y x s O s

f f

FF F s O s h O s h

Y Y

′′′ + +

≤ ≤

∂ ∂

− + + +

∂ ∂

4 5 2 2 3 4 4

1 ( ) ( ) ( ) ( ) ( )

3!

IV

y xk s O s O s h O s h O s cs

≤ + + + ≤ ≤ .

三階導數的差分,不僅僅拘泥於一次前向差分、一次中央差分,在二 階差分中ABCDE 皆可作為三階差分中的第二階差分,其 亦可作為第三階的差分,其差異在於可以準確到 order 的幾次方,例如:

(18)式中的W 為兩次皆以D 的特殊差分來差分,其導數的誤差,由泰 勒級數法可求得:

2

1 2 2

( , , , ..., ) ( i)jk i n ijk

j k

f x y y y

W c h

Y Y

= ∂ +

∂ ∂ ,

i

=1, 2, ..., , ,

n j k

= 0,1, ...,

n

如同

G

i,選擇 6

0m ax, , ijk

i j k n c c

= ,其Wm的誤差為:

2

2 0max (, , i ( i)jk ) 6

i j k n

j k

f W c h

Y Y

∂ − ≤

∂ ∂

其精確度較 G 的 order 要來得高,只是在表示上,W 太過於冗長,所

參考文獻

相關文件

請利用十分逼近法計算出 √14 的近似值到小數點底下第

在選擇合 適的策略 解決 數學問題 時,能與 別人溝通 、磋商及 作出 協調(例 如在解決 幾何問題 時在演繹 法或 分析法之 間進行選 擇,以及 與小組成 員商 討統計研

並藉由適當工具與資訊,去描述、模擬、解釋與 預測各種現象,發揮數學思維方式的特長,做出

1.1.3 檢視分三個階段 。 在過去第一、第二階段 (即由1999年 1月至2000年

題目設計 ( 總分:26 分 ) 初階提問(18 分)、進階提問 (8

在選擇合 適的策略 解決 數學問題 時,能與 別人溝通 、磋商及 作出 協調(例 如在解決 幾何問題 時在演繹 法或 分析法之 間進行選 擇,以及 與小組成 員商 討統計研

一階隨機差分方程式.

接下來的 FDTD 疊代運算將是整個計算的核心,也是運算量最大 的部分,在這中間,如何利用光波導的性質以及傳播常數等特徵參量