Upload
dangquynh
View
220
Download
1
Embed Size (px)
Citation preview
Różniczkowanie numeryczne
Wzory różniczkowania numerycznego znajdują zastosowanie wtedy, gdy trzeba wyznaczyć
pochodne odpowiedniego rzędu funkcji f(x), która określona jest tablicą lub ma
skomplikowaną postać analityczną.
Dwa podstawowe sposoby różniczkowania numerycznego:
1. Metoda różnic skończonych – metoda polegająca
na przybliżeniu pochodnej funkcji poprzez skończone
różnice, w zdyskretyzowanej przestrzeni. Można ją
wyprowadzić wprost z ilorazu różnicowego, bądź
z rozwinięcia w szereg Taylora.
2. Różniczkowanie funkcji aproksymującej –
aproksymujemy punkty wyrażeniem, które może być
łatwo różniczkowalne, np. wielomianem, funkcją
wykładniczą, itp.
Różniczkowanie numeryczne
Wzory różniczkowania numerycznego znajdują zastosowanie wtedy, gdy trzeba wyznaczyć
pochodne odpowiedniego rzędu funkcji f(x), która określona jest tablicą lub ma
skomplikowaną postać analityczną.
Dwa podstawowe sposoby różniczkowania numerycznego:
1. Metoda różnic skończonych – metoda polegająca
na przybliżeniu pochodnej funkcji poprzez skończone
różnice, w zdyskretyzowanej przestrzeni. Można ją
wyprowadzić wprost z ilorazu różnicowego, bądź
z rozwinięcia w szereg Taylora.
2. Różniczkowanie funkcji aproksymującej –
aproksymujemy punkty wyrażeniem, które może być
łatwo różniczkowalne, np. wielomianem, funkcją
wykładniczą, itp.
W przypadku silnie zaszumionych
danych różniczkowanie metodą
różnic skończonych może dać
fatalny efekt.
Wyprowadzenie metody różnic skończonych ze wzoru Taylora
Rozwinięcie funkcji analitycznej f(x) w otoczeniu punktu x w szereg Taylora
można wyrazić w postaci
)(!
)(!2
)(!1
)()( )(
0
)2(2
)1( xfk
hxf
hxf
hxfhxf k
k
k
Zdefiniujemy operator różniczkowania
)())(()(
)()(
)(1
)1(
xfxfDDxfD
xfxDf
kkk
Zatem
)()()!2!1
1()(22
xfexfDhhD
hxf hD
Zdefiniujmy operatory różnicy zwykłej , i wstecznej :
Czyli
)()()( xfhxfxf
)()1()( xfhxf
Z porównania zależności uzyskujemy wzór na równość operatorów
hDe1
)()()( hxfxfxf
Logarytmując obustronnie otrzymamy
)1ln( hD
)1ln(1 h
D
Podnosząc obustronnie do potęgi k-tej, uzyskamy
kk
k
hD )1ln(
1
432
432
)1ln(
k
k
k
hD )
432(
1 432
hDe1
Ponieważ
Możemy zatem wyprowadzić wzory na dowolne pochodne funkcji f(x) wyrażone
za pomocą różnic zwykłych:
k = 1
)()()()(1
)( 4
413
312
21)1( xfxfxfxf
hxf
k = 2
)()()()(1
)( 5
12104
121132
2
)2( xfxfxfxfh
xf
k = 3
)()()()(1
)( 6
24455
474
233
3
)3( xfxfxfxfh
xf
k
k
k
hD )
432(
1 432
Sprawdź, że
2
321
2
21
21
1
)(3)(4)(5)(2)(''
)()(2)()(''
2
)()(4)(3)('
)()()('
h
xfxfxfxfxf
h
xfxfxfxf
h
xfxfxfxf
h
xfxfxf
iiiii
iiii
iiii
iii
Zróbmy to samo za pomocą różnic wstecznych. Zauważmy, że
Zatem
111
Wstawiając powyższy wzór do wzoru , otrzymujemy
kk
k
k
k
hhD )1ln(
1)1ln(
1 1
Ponieważ
432)1ln(
432
k
k
k
hD
432
1 432
)()()()(
)()()()1()()1)(1(
xfxfhxfhxf
hxfhxfhxfxf
kk
k
hD )1ln(
1
k = 1
)()()(1
)( 3
312
21)1( xfxfxf
hxf
k = 2
)()()(1
)( 4
121132
2
)2( xfxfxfh
xf
k = 3
)()()()(1
)( 6
24345
474
233
3
)3( xfxfxfxfh
xf
k
k
k
hD
432
1 432
Możemy zatem wyprowadzić wzory na dowolne pochodne funkcji f(x) wyrażone za
pomocą różnic wstecznych:
Różnice centralne
Wyprowadzone wcześniej wzory różniczkowania numerycznego funkcji f(x) w
punkcie x = x0 mają tę wadę, że wykorzystuje się w nich jedynie wartości
funkcji f(x) dla argumentów leżących z jednej strony x0 . Wady tej nie posiadają
wzory wykorzystujące wartości funkcji f(x) po prawej i po lewej stronie punktu x
= x0 . Są to wzory symetryczne, oparte na różnicach centralnych.
)()()!22!12
1(2
2
22
xfexfDhDhh
xfD
h
)()()!22!12
1(2
2
22
xfexfDhDhh
xfD
h
Zdefiniujmy operator różnicy centralnej
)()()(22hh xfxfxf
Zatem
)()( 22 xfeexfD
hD
h
Dee hD
hD
h
222 sinh2
Dh
2)arcsinh(
2
)arcsinh(2
2
hD
Rozwijając w szereg Taylora:
...
27
1
642
531
25
1
42
31
23
1
2
1
2
2753
hD
hhD
2
2
h
xfxfxDf
hh )()()( 22
)()(1)()(
)(22
222 hhhh
xDfxDfhh
xfxfDxfD
2
)()(2)()()()()(1
h
hxfxfhxf
h
hxfxf
h
xfhxf
h
Oszacowanie błędów
k
kk
xfk
hxfhxf )(
!)()( )(
W szczególności:
)1()()()()()( 32)1( hOhOxhfxfhxf
)()()()(
)()1(. 2)1( hOhOh
xfhxfxfrównz
)()(2)()()2()1(. 3)1( hOxhfhxfhxfrównz
)2(()()()()( 32)1( )hOhOxhfxfhxf
)()()()(
)()2(. 2)1( hOhOh
hxfxfxfrównz
)()( 23 hOhO
)(2
)()()( 2)1( hO
h
hxfhxfxf
h
xfxfxfxfxf
h
xfxfxf
h
xfxfxfxf
h
xfxfxf
h
xfxfxfxf
h
xfxfxf
iiiii
iii
iiii
iii
iiii
iii
12
)()(8)(8)()('
2
)()()('
2
)()(4)()('
)()()('
2
)()(4)(3)('
)()()('
2112
11
12
1
21
1
2
2112
2
11
2
12
2
21
12
)()(16)(30)(16)()(''
)()(2)()(''
)()(2)()(''
)()(2)()(''
h
xfxfxfxfxfxf
h
xfxfxfxf
h
xfxfxfxf
h
xfxfxfxf
iiiiii
iiii
iiii
iiii
)(
)(
)(
)(
)(
)(
4
2
2
2
hO
hO
hO
hO
hO
hO
Podsumowanie
)(
)(
)(
)(
4
2
hO
hO
hO
hO
Dwupunktowe różnice zwykłe
Trzypunktowe różnice zwykłe
Dwupunktowe różnice wsteczne
Trzypunktowe różnice wsteczne
Dwupunktowe różnice centralne
Czteropunktowe różnice centralne
Trzypunktowe różnice zwykłe
Trzypunktowe różnice wsteczne
Trzypunktowe różnice centralne
Pięciopunktowe różnice centralne
Pierwsze pochodne
Drugie pochodne
Różniczkowanie za pomocą wielomianów Lagrange’a
Zapiszmy wielomian przechodzący przez trzy punkty (xi, yi), (xi+1, yi+1), (xi+2, yi+2)
2
122
11
211
2
21
21
))((
))((
))((
))((
))((
))(()(
i
iiii
iii
iiii
iii
iiii
ii yxxxx
xxxxy
xxxx
xxxxy
xxxx
xxxxxf
2
122
11
211
2
21
21
))((
2
))((
2
))((
2)('
i
iiii
iii
iiii
iii
iiii
ii yxxxx
xxxy
xxxx
xxxy
xxxx
xxxxf
Różniczkując
Podstawmy x = xi+1
2
122
11
211
21
21
211
))(())((
2
))(()('
i
iiii
iii
iiii
iiii
iiii
iii y
xxxx
xxy
xxxx
xxxy
xxxx
xxxf
2
122
11
211
21
21
211
))(())((
2
))(()('
i
iiii
iii
iiii
iiii
iiii
iii y
xxxx
xxy
xxxx
xxxy
xxxx
xxxf
Uwagi:
1. Gdy punkty są równomiernie rozłożone, czyli xi+2 - xi+1 = xi+1 - xi = h
211))(2())(()2)((
)('
iiii y
hh
hy
hh
hhy
hh
hxf
h
yyy
hy
hxf ii
iii22
1
2
1)(' 2
21
Wzór dla różnic
centralnych
2. Zaleta nr 1: punkty nie muszą być równomiernie rozłożone
3. Zaleta nr 2: możemy policzyć pochodną w dowolnym punkcie między xi a xi+2.
Rozważmy funkcję f(x) = ex
Policzmy pochodną w punkcie x=0 korzystając z dwupunktowych różnic centralnych.
)(2
)()()(' 211 hO
h
xfxfxf ii
i
hxorazhxgdzie ii 11
)(2
)0(' 2hOh
eef
hh
Podczas obliczeń komputer wprowadza błąd zaokrąglenia
21 ReeRee hhhh
Wartości dokładne
)(22
)(2
)0(' 221221 hOh
RR
h
eehO
h
ReRef
hhhh
Błąd
obcięcia
Błąd
zaokrąglenia
Gdy zmniejszamy h, błąd obcięcia maleje,
ale błąd zaokrąglenia rośnie.
h
całkowity
błąd
Błąd w różniczkowaniu numerycznym
(i-2, j) (i-1, j) (i, j) (i+1, j) (i+2, j)
(i, j+1)
(i, j+2)
(i, j-1)
(i, j-2)
(i+1, j+1) (i-1, j+1)
(i-1, j-1) (i+1, j-1)
Pochodne cząstkowe
Proste rozszerzenie metod dla pochodnych zupełnych (jednowymiarowych)
121
101
22
21
21
hx
f
xx
hx
f
x
f
f
Operator Laplace’a f f f yy xx
2
i-1 i i+1
j+1
j
j-1
|
1 2 1
|
h
1 2
i-1 i i+1
j+1
j
j-1
1
|
2
|
1
h
1 2 +
i-1 i i+1
j+1
j
j-1
=
1
|
1 4 1
|
1
h
1 2
Pochodne mieszane
xy
f
i-1 i i+1
j+1
j
j-1
0 0 0
| | |
1 0 -1
| | |
0 0 0
h 2
1
y
=
i-1 i i+1
j+1
j
j-1
1 0 1
| | |
0 0 0
| | |
1 0 1
h 4
1 2 =