Kiedy może być potrzebne numeryczne wyznaczenie pierwszej lub wyższej pochodnej funkcji jednej zmiennej? mamy f(x), nie potrafimy znaleźć analitycznie jej pochodnej, nie znamy postaci f(x), mamy stablicowane jej niektóre wartości i chcemy oszacować wartości jej pochodnej, t [s] 0,0 0,2 0,4 0,6... x [m] 1,14 1,39 1,68 2,04... znamy po lożenie x jakiegoś cia la w ruchu prostoliniowym w konkretnych chwilach; kolejne pochodne x wzgle ι dem t: pre ι dkość x, przyspieszenie x, szarpnie ι cie x. 1/19
Kiedy może być potrzebne numeryczne wyznaczenie pierwszej lub wyższej pochodnej funkcji jednej zmiennej? mamy dane równanie różniczkowe, na przyk lad x (t) = x(t) x (t)+f(t) chcemy otrzymać równanie różnicowe, które rozwia ι żemy numerycznie (z warunkami pocza ι tkowymi). Co reprezentuje to równanie? 2/19
Szereg Taylora Różniczkowanie numeryczne funkcji f(x) opiera sie ι przede wszystkim na korzystaniu z rozwinie ι cia funkcji w szereg Taylora. Jeśli funkcja f(x) jest nieskończenie razy różniczkowalna na pewnym otoczeniu punktu x 0 (czyli w pewnym przedziale (x 0 δ,x 0 +δ)), to dla każdego x należa ι cego do tego otoczenia: f(x) = f(x 0 )+(x x 0 )f (x 0 )+ (x x 0) 2 f (x 0 )+...+ 2! + (x x 0) n f (n) (x 0 )+... n! 3/19
Definicja pochodnej f f(x + x) f(x) (x) = lim x 0 x wartość pochodnej można oszacować za pomoca ι wartości funkcji w dwóch blisko siebie leża ι cych punktach (o ile granica istnieje). Numeryczne obliczanie pochodnej: przybliżenie wartości tej pochodnej odpowiednia ι kombinacja ι wartości funkcji f w pewnych punktach. 4/19
Za lożenie: Mamy równomiernie roz lożone punkty x k, odleg lość mie ι dzy sa ι siednimi punktami wynosi h, znamy wartości funkcji f(x k ) = f k. Wyznaczmy najprostsze przybliżenie f w punkcie x k i określmy jego dok ladność. Rozwińmy f(x k+1 ) w otoczeniu x k : f(x k+1 ) = f(x k )+hf (x k )+0(h 2 ). 0(h 2 ): suma sk ladników zawieraja ι cych h 2, h 3,..., najbardziej znacza ι cy sk ladnikiem jest ten, w którym wyste ι puje h 2. Otrzymujemy wzór dwupunktowy: f k = f k+1 f k h +0(h). 5/19
Otrzymujemy wzór dwupunktowy: f k = f k+1 f k h +0(h). pochodna oszacowana na podstawie wartości funkcji w 2 sa ι siednich punktach,,b la ι d jest rze ι du h, metoda ma lo dok ladna zmniejszenie h o po lowe ι b la ι d zmaleje o (oko lo) po lowe ι,,oko lo bo 0(h) zawiera sk ladniki h 2 itd B la ι d: różnica mie ι dzy dok ladna ι wartościa ι pochodnej a obliczona ι wartościa ι przybliżona ι 6/19
Szukamy wzoru dok ladniejszego niż dwupunktowy. Rozwińmy dok ladniej niż poprzednio f(x k+1 ) oraz f(x k 1 ): f(x k+1 ) = f(x k )+hf (x k )+ 1 2 h2 f (x k )+0(h 3 ). f(x k 1 ) = f(x k ) hf (x k )+ 1 2 h2 f (x k )+0(h 3 ). Reszty 0(h 3 ) sa ι różne (inne znaki sk ladników z nieparzystymi wyk ladnikami h). 0(h 3 ): najbardziej istotny sk ladnik reszty to sk ladnik z h 3. 7/19
Odejmujemy rozwinie ι cia stronami: f(x k+1 ) f(x k 1 ) = 2hf (x k )+0(h 3 ) reszta zawiera tylko nieparzyste pote ι gi h. Wyznaczamy f (x k ), wzór trójpunktowy f k = f k+1 f k 1 +0(h 2 ) 2h,,b la ι d jest rze ι du h 2, zmniejszenie h o po lowe ι b la ι d zmaleje czterokrotnie (10-krotne zmniejszenie h b la ι d zmaleje 100-krotnie ) reszta 0(h 2 ) zawiera tylko parzyste pote ι gi h,,trójpunktowy, bo choć korzysta sie ι tylko z wartości w x k 1 i x k+1, to obliczana wartość dotyczy punktu x k 8/19
Mamy wzór trójpunktowy f k = f k+1 f k 1 +0(h 2 ). 2h Jeśli mamy f(x) w punktach x 0, x 1,..., x N, to wzór ten możemy stosować tylko dla x 1, x 2,..., x N 1 (nie znamy f 1 ani f N+1 )). Jak oszacować f 0 i f N? użycie wzoru mniej dok ladnego, np. dwupunktowego f 0 = f 1 f 0 +0(h). h znalezienie wzoru o odpowiedniej dok ladności, uwzgle ι dniaja ι cego np. tylko prawych sa ι siadów punktu x k 9/19
Wzór trójpunktowy uwzgle ι dniaja ι cy tylko prawych sa ι siadów x k. Rozwinie ι cia f(x k+1 ) oraz f(x k+2 ): f(x k+1 ) = f(x k )+hf (x k )+ 1 2 h2 f (x k )+0(h 3 ), f(x k+2 ) = f(x k )+2hf (x k )+2h 2 f (x k )+0(h 3 ). Pierwsze rozwinie ι cie mnożymy przez (-4) i dodajemy do drugiego: f(x k+2 ) 4f(x k+1 ) = 3f(x k ) 2hf (x k )+0(h 3 ), wzór trójpunktowy, który można użyć w x 0, z b le ι dem rze ι du h 2 : f k = f k+2 +4f k+1 3f k 2h +0(h 2 ). 10/19
Wzory dok ladniejsze niż trójpunktowy: rozwinie ι cia w wie ι kszej liczbie punktów, eliminowanie sk ladników z wyższymi pochodnymi. Rozwinie ι cia f(x k+1 ), f(x k 1 ), f(x k+2 ), f(x k 2 ): f(x k+1 ) = f(x k )+hf (x k )+ 1 2 h2 f (x k )+ 1 6 h3 f (3) (x k )+ 1 24 h4 f (4) (x k )+0(h 5 ) f(x k 1 ) = f(x k ) hf (x k )+ 1 2 h2 f (x k ) 1 6 h3 f (3) (x k )+ 1 24 h4 f (4) (x k )+0(h 5 ) f(x k+2 ) = f(x k )+2hf (x k )+2h 2 f (x k )+ 4 3 h3 f (3) (x k )+ 2 3 h4 f (4) (x k )+0(h 5 ), f(x k 2 ) = f(x k ) 2hf (x k )+2h 2 f (x k ) 4 3 h3 f (3) (x k )+ 2 3 h4 f (4) (x k )+0(h 5 ), 11/19
Różnica rozwinie ι ć f(x k+1 ) i f(x k 1 ): f(x k+1 ) f(x k 1 ) = 2hf (x k )+ 1 3 h3 f (3) (x k )+0(h 5 ). Różnica rozwinie ι ć f(x k+2 ) i f(x k 2 ): f(x k+2 ) f(x k 2 ) = 4hf (x k )+ 8 3 h3 f (3) (x k )+0(h 5 ). Wyeliminujemy sk ladniki zawieraja ι ce f (3) : od drugiego równania odejmujemy pierwsze przemnożone przez (-8). 12/19
f(x k 2 ) 8f(x k 1 )+8f(x k+1 ) f(x k+2 ) = 12hf (x k )+0(h 5 ). Wzór pie ι ciopunktowy: f k = f k 2 8f k 1 +8f k+1 f k+2 +0(h 4 ). 12h Wzór bardzo dok ladny, ale nieprzydatny w x 0, x 1, x N 1 i x N. Wie ι cej rozwinie ι ć możliwość wyeliminowania wyższych pochodnych wie ι ksza dok ladność. 13/19
Jak oszacować pochodna ι drugiego rze ι du? Rozwinie ι cia f(x k+1 ), f(x k 1 ): f(x k+1 ) = f(x k )+hf (x k )+ 1 2 h2 f (x k )+ 1 6 h3 f (3) (x k )+ 1 24 h4 f (4) (x k )+0(h 5 ) f(x k 1 ) = f(x k ) hf (x k )+ 1 2 h2 f (x k ) 1 6 h3 f (3) (x k )+ 1 24 h4 f (4) (x k )+0(h 5 ) Sumujemy równania, eliminujemy f (x k ) (i inne pochodne nieparzystych rze ι dów): f(x k+1 )+f(x k 1 ) = 2f(x k )+h 2 f (x k )+0(h 4 ). Wzór trójpunktowy f k = f k+1 2f k +f k 1 h 2 +0(h 2 ). 14/19
Przyk lad Zastosujemy poznane wzory do oszacowania f (x k ) i f (x k ), dla f(x) = x 4 i x k = 1; przyjmiemy h = 0,1 oraz h = 0,05. f k = f k+1 f k h +0(h). f k = f k+1 f k 1 +0(h 2 ). 2h f k = f k 2 8f k 1 +8f k+1 f k+2 +0(h 4 ). 12h f k = f k+1 2f k +f k 1 h 2 +0(h 2 ). Wartości dok ladne: f (1) = 4, f (1) = 12 : modu l różnicy oszacowania i wartości dok ladnej. 15/19
a) h = 0,1 punkt k-2 k-1 k k+1 k+2 x 0,8 0,9 1,0 1,1 1,2 f(x) 0,4096 0,6561 1,0000 1,4641 2,0736 b) h = 0,05 punkt k-2 k-1 k k+1 k+2 x 0,90 0,95 1,00 1,05 1,10 f(x) 0,65610000 0,81450625 1,00000000 1,21550625 1,46410000 Wartości dok ladne: f (1) = 4, f (1) = 12 : modu l różnicy oszacowania i wartości dok ladnej. 16/19
a) h = 0,1 b) h = 0,05 wzór dwupunktowy: f k = 4,641, = 0,641, wzór trójpunktowy: f k = 4,04, = 0,04, wzór pie ι ciopunktowy: f k = 4, = 0, dok ladny! wzór trójpunktowy: f k = 12,02, = 0,02; wzór dwupunktowy: f k = 4,310125, = 0,310125, wzór trójpunktowy: f k = 4,01, = 0,01, wzór pie ι ciopunktowy: f k = 4, = 0, wzór trójpunktowy: f k = 12,005, = 0,005; 17/19
c) analiza zmiany b le ι du przy dwukrotnym zmniejszeniu h wzór dwupunktowy: b la ι d zmala l oko lo 2-krotnie (ale nie dok ladnie 2-krotnie!), wzór trójpunktowy: b la ι d zmala l 4-krotnie, wzór pie ι ciopunktowy: zmala lby oko lo 16-krotnie, wzór trójpunktowy: b la ι d zmala l 4-krotnie. 18/19
Odpowiedz na pytanie Omów numeryczne obliczanie pierwszej pochodnej danej funkcji (wzór dwupunktowy, trójpunktowy, pie ι ciopunktowy, dok ladność). Omów numeryczne obliczanie drugiej pochodnej danej funkcji (wzór trójpunktowy, dok ladność). 19/19