Wprowadzenie do metod numerycznych Wykład 9 Różniczkowanie numeryczne Polsko-Japońska Wyższa Szkoła Technik Komputerowych Katedra Informatyki Stosowanej
Spis treści 1 Na czym polega różniczkowanie numeryczne 2 Interpolacja Newtona 3 4
Spis treści 1 Na czym polega różniczkowanie numeryczne 2 Interpolacja Newtona 3 4
Spis treści 1 Na czym polega różniczkowanie numeryczne 2 Interpolacja Newtona 3 4
Spis treści 1 Na czym polega różniczkowanie numeryczne 2 Interpolacja Newtona 3 4
Literatura 1 Baron B., Piątek Ł., Metody numeryczne w C++ Builder, Helion, Gliwice, 2004 2 Fortuna Z., Macukow B., Wąsowski J., Metody numeryczne, WNT, Warszawa, 1993 3 Kosma Z., Metody numeryczne dla zastosowań inżynierskich, Politechnika Radomska, Radom, 2008 4 Povstenko J., Wprowadzenie do metod numerycznych, Akademicka Oficyna Wydawnicza Exit, Warszawa, 2005 5 Ralston A., Wstęp do analizy numerycznej, PWN, Warszawa, 1983 6 Kącki E., Małolepszy A., Romanowicz A., Metody numeryczne dla inżynierów, Wyższa Szkoła Informatyki w Łodzi, Łódź, 2005 7 Vetterling W.T., Teukolsky S.A., Press W.H., Flannery B.P., Numerical Recipes, Cambridge University Press, 2003 8 Wikipedia
Dlaczego różniczkujemy numeryczne Definicja pochodnej f(x 2 ) f(x) f(x 1 ) α x 1 x x 2 Rys. 1: Definicja pochodnej
Dlaczego różniczkujemy numeryczne Definicja pochodnej d f (x) dx = lim h 0 f (x + h) f (x) h (1) gdzie h = x 2 x 1 Podstawowe wzory c = 0; x = 1; (x n ) = nx n 1 ; (1/x n ) = (n/x n+1 ); ( x) = 1/(2 x); (e x ) = e x ; (a x ) = a x ln a; (ln x) = 1/x; (sin x) = cos x; (cos x) = sin x; (tg x) = 1/cos 2 x; (ctg x) = 1/ sin 2 x (2)
Dlaczego różniczkujemy numeryczne Dwie trudności Potrzeba zastosowania metod numerycznych do różniczkowania pojawia się w dwu przypadkach: 1 funkcja jest określona w postaci stablicowanej; 2 analityczna postać funkcji jest bardzo skomplikowana. Rozwiązanie: w interesującym nas przedziale [a, b] zastępujemy funkcję f (x) przez jej funkcję interpolacyjną W (x) i stosujemy wzory na przybliżone wartości: f (x) W (x); f (x) W (x);... f (m) (x) W (m) (x) UWAGA: z faktu, że błąd interpolacji jest mały, wcale nie wynika że błąd pochodnej też jest mały! Może być wielki!
Wzór interpolacyjny Newtona N n (x) = y 0 + q y 0 + q(q 1) 2 y 0 + 2! q(q 1)(q 2) 3 y 0 +... + 3! gdzie y 0 = f (x 0 ), q = x x 0 h q(q 1)... (q n + 1) n y 0 n! (3)
Pochodne w interpolacji Newtona f (x) N n(x) = 1 h [ y 0 + 1 2! (2q 1) 2 y 0 + + 1 3! (3q2 6q + 2) 3 y 0 + + 1 ] 4! (4q3 18q 2 + 22q 6) 4 y 0 +... (4) f (x) N n (x) = 1 [ 2 h 2 y 0 + (q 1) 3 y 0 + + 1 ] (5) 12 (6q2 18q + 11q) 4 y 0 +...
Pochodne w interpolacji Newtona Wzory (4) i (5) upraszczają się dla punktów węzłowych, gdyż wtedy q = 0 i f (x 0 ) N n(x 0 ) = 1 [ y 0 1 h 2 2 y 0 + 1 3 3 y 0 1 ] 4 4 y 0 +... (6) f (x 0 ) N n (x 0 ) = 1 [ h 2 2 y 0 3 y 0 + 11 12 4 y 0 5 ] 6 5 y 0... (7)
Pochodne w interpolacji Newtona Przykład Policzyć dla funkcji f (x), określoną przez poniższą tabelę, pierwszą i drugą pochodną w punkcie x = 1.0. x i y i y i 2 y i 3 y i 4 y i 1.0 1.1752 0.1605 1.1 1.3357 0.0133 0.1738 0.0018 1.2 1.5095 0.0151 0.0001 0.1889 0.0019 1.3 1.6984 0.0170 0.2059 1.4 1.9043
Pochodne w interpolacji Newtona Przykład c.d. Podstawiamy do wzorów (6) i (7) określone wartości z tabeli: f (1.0) N n(1.0) = 1 [0.1605 12 0.1 0.0133 + 13 0.0018 14 ] 0.0001 = = 0.1543 f (1.0) N n (1.0) = 1 [ (0.1) 2 0.0133 0.0018 + 11 ] 12 0.0001 = 1.1592 Dane w tablicy to wartości dla funkcji y = sinh x (y = cosh x i y = sinh x), a dokładne wartości, to y (1.0) = 1.5431 i y (1.0) = 1.1752.
Dowolne rozmieszczenie węzłów Wielomian interpolacyjny Lagrange a f (x) L n (x) = n k=0 1 ω n+1 (x) y k ω n+1 (x (8) k) x x k gdzie ω n+1 = (x x 0 )(x x 1 )... (x x n ), a ω n+1 = (x k x 0 )(x k x 1 )... (x k x k 1 )(x k x k+1 )... (x x n )
Dowolne rozmieszczenie węzłów Mamy zatem f (x) L n(x) = f (m) (x) L (m) n (x) = n ( ) 1 d ωn+1 (x) y k ω n+1 (x k) dx x x k k=0 n 1 d m ( ) ωn+1 (x) y k ω n+1 (x k) dx m x x k k=0 Czasami jest wygodniej korzystać ze wzorów w terminach wartości funkcji w węzłach, a jeszcze lepiej, gdy węzły rozmieszczone w jednakowych odstępach. (9) (10)
Jednakowe rozmieszczenie węzłów Wartości pierwszych i drugich pochodnych dla n = 2 (trzy punkty)
Jednakowe rozmieszczenie węzłów Wartości pierwszych i drugich pochodnych dla n = 3 (cztery punkty)
Przykład Dla funkcji określonej poniższą tabelą policz pierwszą i drugą pochodną w węzłach. x i y i 0.5 0.4794 0.6 0.5646 0.7 0.6442 0.8 0.7174
Przykład c.d. Wartości pierwszych pochodnych dla n = 3 (cztery punkty)
Przykład c.d. Wartości drugich pochodnych dla n = 3 (cztery punkty)
Przykład c.d. W tabeli podano wyniki dla funkcji y = sin x. Dokładne wartości pierwszej pochodnej (y = cos x) wynoszą y (0.5) = 0.8776 y (0.6) = 0.8253 y (0.7) = 0.7648 y (0.8) = 0.6967 Drugie pochodne powinny być takie, jak w tabeli, ale z dokładnością do znaku (dlaczego?).
Chcemy zróżniczkować numerycznie funkcję daną wzorem y = g e ikx (11) gdzie g amplituda, k liczba falowa, i pierwiastek z liczby 1. Wstawiamy (11) do ilorazu różnicowego (12) i otrzymujemy y i = y i+1 y i 1 + O(h 2 ) (12) 2h y j = g [e ] ik(x j +h) e ik(x j h) 2h = geikx j h [ e ikh e ikh] = i y j h sin kh (13)
Rozwijamy funkcję sin kh w szereg i dostajemy [ y j = iky j 1 k2 h 2 ] + O(k 4 h 4 ) 6 (14) Porównujemy (13) i (14) i mamy y = ikge ikx = iky co pozwala nam stwierdzić, że wzór różnicowy (12) jest dobrą aproksymacja pierwszej pochodnej w sytuacji, gdy 1 liczba falowa k jest mała; 2 długość fali λ = 2π/k jest duża. Wniosek: metody różnicowe można stosować dla zjawisk długofalowych, a aproksymacja tym lepsza im więcej punktów dyskretyzacji.
Zadanie domowe Sprawdź, czy i w jakich sytuacjach operator różnicowy drugiego rzędu jest dobrą aproksymacją drugiej pochodnej funkcji y = g e ikx
Koniec? :-( Interpolacja Newtona Koniec wykładu 9