37
12 數值積分與微分公式 數值積分與微分公式 數值積分與微分公式 數值積分與微分公式 牛頓-科特公式(積分) 梯形法則 1/3法則 3/8法則 有限差分近似(微分)

Ch12 Int diff - ntut.edu.tw

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ch12 Int diff - ntut.edu.tw

第第第第12章章章章

數值積分與微分公式數值積分與微分公式數值積分與微分公式數值積分與微分公式

� 牛頓-科特公式(積分)

� 梯形法則

� 辛普森1/3法則

� 辛普森3/8法則

� 有限差分近似(微分)

Page 2: Ch12 Int diff - ntut.edu.tw

12-2

積分積分積分積分

� 積分積分積分積分:

表示函數f(x)對自變數x在區間x = a到x = b的積分。

I = f x( )a

b

∫ dx

Page 3: Ch12 Int diff - ntut.edu.tw

12-3

離散資料與連續資料圖示離散資料與連續資料圖示離散資料與連續資料圖示離散資料與連續資料圖示

平均值 =n

yn

ii∑

=1

平均值 =( )

ab

dxxfb

a

−∫

Page 4: Ch12 Int diff - ntut.edu.tw

12-4

牛頓牛頓牛頓牛頓----科特公式科特公式科特公式科特公式

� 牛頓牛頓牛頓牛頓----科特公式科特公式科特公式科特公式 (Newton-Cotes formula) 是最常使用的數值積分方式。

� 它們是根據將複雜的函數或列表的資料,以容易積分的多項式取代的策略而來 :

fn(x)是多項式。

I = f x( )a

b

∫ dx≅ fn x( )a

b

∫ dx

Page 5: Ch12 Int diff - ntut.edu.tw

12-5

牛頓牛頓牛頓牛頓----科特科特科特科特例子例子例子例子

� 在下左圖a中,用一階多項式(也就是直線)做近似。在下左圖b中則使用拋物線。

� 積分可以藉由在分段的函數或資料的固定分割長度的區間內使用一系列的多項式來近似。

Page 6: Ch12 Int diff - ntut.edu.tw

12-6

閉合與開放形式閉合與開放形式閉合與開放形式閉合與開放形式

� a) 閉合積分公式

� b) 開放積分公式

Page 7: Ch12 Int diff - ntut.edu.tw

12-7

梯形法則梯形法則梯形法則梯形法則

� 梯形法則梯形法則梯形法則梯形法則 (trapezoidal rule)是第一個牛頓-科特閉合形式積分公式。此公式對應的情況是在多項式為一階:

( )( ) ( ) ( )

( ) ( ) ( )2

)(

bfafabI

dxaxab

afbfafI

dxxfI

b

a

b

a n

+−=

−−−+=

=

( )I

b a

= ×= − ×寬度 平均高度

平均高度

Page 8: Ch12 Int diff - ntut.edu.tw

12-8

梯形法則的誤差梯形法則的誤差梯形法則的誤差梯形法則的誤差

� 當使用直線分割底下的面積來近似曲線的積分,很明顯地會產生誤差,有時誤差量非常大:

其中ξ是a到b區間中的某一點。

� 如果被積分的函數是線性的,則根據梯形法則所求得的結果完全正確,因為直線的二次微分等於零。否則,對於具有二階或更高階微分的函數(如曲線),則會發生誤差。

Et = − 112

′ ′ f ξ( ) b− a( )3

Page 9: Ch12 Int diff - ntut.edu.tw

12-9

複合梯形法則複合梯形法則複合梯形法則複合梯形法則

� 一個改善梯形法則的方式是將積分區間a到b切割成許多分割,並且對每一個分割使用梯形法則。每一個分割的面積加總,可得到整個區間的積分。

I = fn x( )x0

xn∫ dx= fn x( )x0

x1∫ dx+ fn x( )x1

x2∫ dx+⋯+ fn x( )xn−1

xn∫ dx

I = x1− x0( ) f x0( )+ f x1( )2

+ x2 − x1( ) f x1( )+ f x2( )2

+⋯+ xn − xn−1( ) f xn−1( )+ f xn( )2

I = h

2f x0( )+ 2 f xi( )

i =1

n−1

∑ + f xn( )

b a

hn

−=

Page 10: Ch12 Int diff - ntut.edu.tw

12-10

複合梯形法則的複合梯形法則的複合梯形法則的複合梯形法則的M檔檔檔檔

Page 11: Ch12 Int diff - ntut.edu.tw

12-11

辛普森法則辛普森法則辛普森法則辛普森法則

� 利用高階多項式進行積分的公式,即稱為辛普森法則辛普森法則辛普森法則辛普森法則

(Simpson's rules)。

Page 12: Ch12 Int diff - ntut.edu.tw

12-12

辛普森辛普森辛普森辛普森1/3法則法則法則法則

� 辛普森1/3法則是在將使用的多項式改為二階:

積分三點化簡為:

( )

( ) ( ) ( )[ ]

( ) ( ) ( ) ( )6

4

43

210

210

2

0

xfxfxfab

xfxfxfh

I

dxxfIx

x n

++−=

++=

= ∫

fn x( )=x− x1( )x0 − x1( )

x− x2( )x0 − x2( )

f x0( )+x− x0( )x1 − x0( )

x− x2( )x1 − x2( )

f x1( )+x− x0( )x2 − x0( )

x− x1( )x2 − x1( )

f x2( )

2

abh

−=

Page 13: Ch12 Int diff - ntut.edu.tw

12-13

辛普森辛普森辛普森辛普森1/3法則的截斷誤差法則的截斷誤差法則的截斷誤差法則的截斷誤差

� 辛普森1/3法則的截斷誤差

其中ξ是a到b區間中的某一點。

� 辛普森1/3法則比梯形法則更為正確。

� 此誤差與四次微分成比例,而不是與三次微分成比例。因此,辛普森1/3法則只根據三個點就達到了三階的正確度。

Et = − 1

2880f 4( ) ξ( ) b− a( )5

Page 14: Ch12 Int diff - ntut.edu.tw

12-14

複合辛普森複合辛普森複合辛普森複合辛普森1/3法則法則法則法則� 辛普森法則也可以藉由將積分區間分為好幾個具有相等寬度的分割,來增加積分的正確度。

� 使用這個方法必須配合偶數

的分割。

I = fn x( )x0

xn∫ dx= fn x( )x0

x2∫ dx+ fn x( )x2

x4∫ dx+⋯+ fn x( )xn−2

xn∫ dx

I = h

3f x0( )+ 4 f x1( )+ f x2( )[ ]+ h

3f x2( )+ 4 f x3( )+ f x4( )[ ]+⋯+ h

3f xn−2( )+ 4 f xn−1( )+ f xn( )[ ]

I = h

3f x0( )+ 4 f xi( )

i=1i , odd

n−1

∑ + 2 f xi( )j=2j , even

n−2

∑ + f xn( )

Page 15: Ch12 Int diff - ntut.edu.tw

12-15

辛普森辛普森辛普森辛普森3/8法則法則法則法則� 利用三階的拉格朗日多項式來配適四個點及積分得到

� 辛普森3/8法則的截斷誤差

( )

( ) ( ) ( ) ( )[ ]

( ) ( ) ( ) ( ) ( )8

33

338

3

3210

3210

3

0

xfxfxfxfab

xfxfxfxfh

I

dxxfIx

x n

+++−=

+++=

= ∫

3

abh

−=

( ) ( )( )541

6480tE f b aξ= − −

Page 16: Ch12 Int diff - ntut.edu.tw

12-16

辛普森辛普森辛普森辛普森1/3與與與與3/8法則法則法則法則

� 辛普森1/3法則是較常用的方法,因為它只使用三個點就保持了三階的正確度,而3/8法則需要四個點。然而,3/8法則卻可以使用在分割數目為奇

數的時候。

Page 17: Ch12 Int diff - ntut.edu.tw

12-17

牛頓牛頓牛頓牛頓----科特閉合積分公式科特閉合積分公式科特閉合積分公式科特閉合積分公式

� 很明顯可以看出用以估計平均高度的資料點的各個權重。給定的步長大小為 h = (b-a)/n。

Page 18: Ch12 Int diff - ntut.edu.tw

12-18

課堂練習課堂練習課堂練習課堂練習

� 計算下列函數由 x = 0 到 0.8 的積分

� f(0) = 0.2, f(0.8) = 0.232

� f(0) = 0.2, f(0.4) = 2.456, f(0.8) = 0.232

� f(0) = 0.2, f(0.267) = 1.433, f(0.533) = 3.487, f(0.8) = 0.232,

� f(0) = 0.2, f(0.2) = 1.288, f(0.4) = 2.456, f(0.6) = 3.464,

f(0.8) = 0.232

� f(0) = 0.2, f(0.16) = 1.297, f(0.32) = 1.743, f(0.48) = 3.186,

f(0.64) = 3.182, f(0.8) = 0.232

5432 400900675200252.0)( xxxxxxf +−+−+=

1.640533

Page 19: Ch12 Int diff - ntut.edu.tw

12-19

不等分割的積分不等分割的積分不等分割的積分不等分割的積分

� 到目前為止,我們所介紹的數值積分公式都是根據等間距的資料點。在很多實務情況中,此假設並不成立且處理的是不等分的分割。

� 對每一個分割使用梯形法則,並且將結果加總:

I = fn x( )x0

xn∫ dx= fn x( )x0

x1∫ dx+ fn x( )x1

x2∫ dx+⋯+ fn x( )xn−1

xn∫ dx

I = x1 − x0( ) f x0( )+ f x1( )2

+ x2 − x1( ) f x1( )+ f x2( )2

+⋯+ xn − xn−1( ) f xn−1( )+ f xn( )2

Page 20: Ch12 Int diff - ntut.edu.tw

12-20

不等分割梯形法則的不等分割梯形法則的不等分割梯形法則的不等分割梯形法則的M檔檔檔檔

Page 21: Ch12 Int diff - ntut.edu.tw

12-21

牛頓牛頓牛頓牛頓----科特開放積分公式科特開放積分公式科特開放積分公式科特開放積分公式

� 使用以估計平均高度的資料點權重可以清楚地顯示。步長大小由h = (b-a)/n 所給定。

Page 22: Ch12 Int diff - ntut.edu.tw

12-22

重積分重積分重積分重積分

� 複合梯形法則或是辛普森法則,可以在第二維的值固定為常數的情況下計算第一維的積分 。

Page 23: Ch12 Int diff - ntut.edu.tw

12-23

微分微分微分微分� 微分代表應變數對一個自變數的變動率。

如果Δx逼近零,差值成為導數:

∆y

∆x=

f xi + ∆x( )− f xi( )∆x

dy

dx= lim

∆x→0

f xi + ∆x( )− f xi( )∆x

Page 24: Ch12 Int diff - ntut.edu.tw

12-24

工程和科學之基本定律的一維形式工程和科學之基本定律的一維形式工程和科學之基本定律的一維形式工程和科學之基本定律的一維形式

Page 25: Ch12 Int diff - ntut.edu.tw

12-25

數值一次微分數值一次微分數值一次微分數值一次微分1

� 一階泰勒級數可用來近似導數 :� 使用i與i + 1的資料來計算微分,我們將之視為「向前」(forward) 的差分

� 使用i與i - 1的資料來計算微分,我們將之視為「向後」(backward) 的差分

f (xi +1) = f (xi ) + f '(xi )h + O(h2)

f '(xi ) = f (xi +1) − f (xi )

h+ O(h)

)()()()( 2'1 hOhxfxfxf iii +−=−

)()()(

)( 1' hOh

xfxfxf ii

i +−= −

Page 26: Ch12 Int diff - ntut.edu.tw

12-26

數值一次微分數值一次微分數值一次微分數值一次微分2

� 向前:

� 向後 :

� 中點 :

f '(xi ) = f (xi +1) − f (xi )

h+ O(h)

f '(xi ) = f (xi ) − f (xi−1)

h+ O(h)

f '(xi ) = f (xi +1) − f (xi−1)

2h+ O(h2)

Page 27: Ch12 Int diff - ntut.edu.tw

12-27

數值二次微分數值二次微分數值二次微分數值二次微分

� 向前:

� 向後 :

� 中點 :

)()()(2)(

)(2

12'' hOh

xfxfxfxf iii

i ++−= ++

)()()(2)(

)(2

21'' hOh

xfxfxfxf iii

i ++−= −−

)()()(2)(

)( 22

11'' hOh

xfxfxfxf iii

i ++−= −+

Page 28: Ch12 Int diff - ntut.edu.tw

12-28

高正確度微分公式高正確度微分公式高正確度微分公式高正確度微分公式

� 使用泰勒級數展開,可獲得有限差分的近似導數。

� 向前、向後、中點的差分近似估計中最好的誤差是O(h2),即其誤差和步長大小平方成正比。

� 包括額外項的泰勒級數展開

⋯+++=+2

'''

1 !2

)()()()( h

xfhxfxfxf i

iii

)(!2

)()()()( 2

''1' hOh

xf

h

xfxfxf iii

i +−−= +

(額外保留項)

Page 29: Ch12 Int diff - ntut.edu.tw

12-29

向前有限差分公式向前有限差分公式向前有限差分公式向前有限差分公式

Page 30: Ch12 Int diff - ntut.edu.tw

12-30

向後有限差分公式向後有限差分公式向後有限差分公式向後有限差分公式

Page 31: Ch12 Int diff - ntut.edu.tw

12-31

中點有限差分公式中點有限差分公式中點有限差分公式中點有限差分公式

Page 32: Ch12 Int diff - ntut.edu.tw

12-32

課堂練習課堂練習課堂練習課堂練習

� 估計下列函數在 x = 0.5 之導數,步長大小 h = 0.25

� xi-2 = 0, f(xi-2) = 1.2

� xi-1 = 0.25, f(xi-1) = 1.1035

� xi = 0.5, f(xi) = 0.925

� xi+1 = 0.75, f(xi+ 1) = 0.6363

� xi+2 = 1, f(xi+2) = 0.2

2.125.05.015.01.0)( 234 +−−−−= xxxxxf

f’ (0.5) = -0.9125

Page 33: Ch12 Int diff - ntut.edu.tw

12-33

不等間距數據不等間距數據不等間距數據不等間距數據

� 利用有限差分近似微分的數據,必須間距均勻。這種數據間距的控制,通常只適用於產生表格數值的函數的情況。

� 一個處理間距不均勻數據的方法是對應拉格朗日內插多項式到一組你要估計導數的相鄰點位置值。

Ex. 1.對應二階拉格朗日多項式到三個相鄰的點(x0, y0),

(x1, y1) 和(x2, y2)

2. 微分多項式

′ f x( )= f x0( ) 2x− x1 − x2

x0 − x1( ) x0 − x2( )+ f x1( ) 2x− x0 − x2

x1 − x0( ) x1 − x2( )+ f x2( ) 2x− x0 − x1

x2 − x0( ) x2 − x1( )

Page 34: Ch12 Int diff - ntut.edu.tw

12-34

帶誤差數據的導數與積分帶誤差數據的導數與積分帶誤差數據的導數與積分帶誤差數據的導數與積分� 除了不等間距外,關於數據微分的另一個問題是測量誤差。數值微分往往會擴增數據中的錯誤。

� 圖a顯示平滑、無誤差的數據,其數值微分曲線在圖b。相較之下,圖c使用相同的數據,但折點略有上升或下降。這些微的修改顯示在圖

c。然而,由此產生的重大效果則在圖d。

解決方法:使用最小平方迴歸以產生對應數據的平滑可微分函數

Page 35: Ch12 Int diff - ntut.edu.tw

12-35

MATLAB的數值微分的數值微分的數值微分的數值微分� 當輸入一維向量的長度n,diff函數傳回一個包含相鄰元素微分長度n − 1的向量,可以用來計算一階導數近似的有限差分。

� 比較精確導數(線)和MATLAB diff函數數值估計值(圓形)的差異:

54

32

400900

675200252.0)(

xx

xxxxf

+−+−+=

Page 36: Ch12 Int diff - ntut.edu.tw

12-36

MATLAB函數函數函數函數::::diff

� 比較精確導數(線)和MATLAB diff函數數值估計值(圓形)的差異:

Page 37: Ch12 Int diff - ntut.edu.tw

12-37

Homework

1. 函數 可以用來產生下列表中不等間距不等間距不等間距不等間距的資料:

利用下列方式計算由a = 0 到b = 0.6 的積分:(a)以解析的方式;(b)梯形法則;以及(c)梯形法則和辛普森法則所可以得到最高正確度的組合。對於 (b) 以及(c),計算百分比相對誤差。