Metody numeryczne
Transkrypt
Metody numeryczne
Metody numeryczne Grzegorz Graczyk, 150875 Paweł Tarasiuk, 151021 Całkowanie funkcji e−x ·f (x) na przedziale od a do nieskończoności metodą Simpsona z zadaną dokładnością oraz metodą kwadratury Gaussa na 3 oraz 4 węzłach Informacje o metodzie Metoda Simpsona jest metodą przeznaczoną do całkowania numerycznego całek oznaczonych właściwych. Z tego powodu musimy nałożyć górną granicę całkowania, która nie zniekształci obliczeń. Dobór górnej granicy odbywa się poprzez ograniczenie naszej funkcji od góry funkcją wykładniczą z odpowiednio dobranymi współczynnikami i przesunięciem. Musimy również dobrać liczbę węzłów n oraz odległość między węzłami h tak, by dokładność była nie mniejsza niż zada1 na dokładność. Dokonujemy tego poprzez przekształcenie wzoru R = 180 (b − a)h4 max|f (4) (x)|, przy czym otrzymane n jest zaokrąglane w górę do liczby naturalnej nieparzystej. Po takich przygotowaniach możemy zastosować metodę Simpsona, którą w całości można opisać wzorem: Z b f (x)dx = a n X h i=0 3 (f (x + 2hi) + 4f (x + 2hi + h) + f (x + 2hi + 2h)) Kwadratura Gaussa jest metodą znacznie prostszą - w szczególności dla stałej ilości węzłów. Bazuje ona na podobieństwie wszystkich funkcji określonej postaci. W wypadku rozważanej postaci funkcji posługujemy się kwadraturami Gaussa-Laguerre’a. Ze względu na stałą i ograniczoną ilość węzłów wartości wag oraz pierwiastków Laguerre’a nie muszą być liczone w czasie działania programu zaś mogły być stablicowane. Metodę można opisać wzorem: Z inf e−x · f (x)dx = 0 n X wi · f (ti ) i=i , gdzie ti to wartość odpowiedniego pierwiastka, zaś wi to waga odpowiadająca temu pierwiastkowi. W zadaniu dolną granicą całkowania nie zawsze jest 0, dlatego podczas obliczeń konieczna jest modyfikacja funkcji tak, by przesunąć granicę całkowania: Z inf Z inf f (x)dx = x0 f (x) · e−x0 dx 0 Informacje o implementacji W wypadku tego zadania implementacja stanowiła jedynie zapisanie wzorów matematycznych w języku programowania ( Python ). Potrzebne były jedynie przekształcenia wzorów, które zostały omówione w opisie metody. Można wspomnieć jedynie o metodzie wczytywania danych - program posiada wbudowaną tablicę zawierającą odpowiednio: funkcję, dolną granicę całkowania, pochodną 8 rzędu funkcji f (x), pochodną 10 rzędu f (x) oraz maksymalną wartość pochodnej 4 rzędu funkcji e−x f (x). Ponadto program stara się wypisać wynik w poprawnej formie fizycznej - odpowiednio zaokrąglając błąd oraz wyświetlaną wartość. Grzegorz Graczyk i Paweł Tarasiuk, Metody Numeryczne, Zadanie 4: Całkowanie 1/2 Wyniki f (x) a Metoda Simpsona Kwadratury Gaussa( 3 węzyły ) Kwadratury Gaussa( 4 węzły ) 1 −1 2.7182 ± 0.0010 2.71828182846 ± 0 2.71828182846 ± 0 sin(x) 0 0.4999 ± 0.0010 0.496 ± 0.025 0.504 ± 0.008 x2 + sin(x) + cos(x) 3 0.797 ± 0.0010 0.79 ± 0.05 0.796 ± 0.015 Wnioski • W wypadku części badanych funkcji błąd kwadratury Gaussa wynosił 0. Jest to spowodowane zależnością błędu od pochodnych funkcji, które w tych przypadkach wynoszą 0. Wartość błędu nie oznacza jednak, że otrzymaliśmy dokładną wartość. Oznacza jedynie, że algorytm był matematycznie dokładny, co jednak nie daje gwarancji braku błędu pochodzącego z dokładności obliczeń komputerowych. • W wypadku metody Simpsona zastosowano pewną heurystykę w wypadku ograniczania funkcji od góry. Choć ograniczenie sprawdza się w znacznej części przypadków( dzięki wykładniczej pochodnej oraz dużej wartości w punkcie 0 ) to nie jest prawidłowe dla wszystkich funkcji. Zostało jednak tak dobrane, by próba całkowania funkcji większej była już obarczona znacznym błędem wynikającym z dokładności obliczeń. • Zastosowane metody są dość wydajnymi, a zarazem niezbyt skomplikowanymi metodami całkowania, posiadają jednak drobne wady. W obu metodach musimy znać maksimum wartości odpowiednich pochodnych badanej funkcji by uzyskać wynik z informacją o błędzie. Ponadto w wypadku kwadratury Gaussa jesteśmy ograniczeni do określonych postaci funkcji. Te wady powodują, że znacznie łatwiej zastosować inne metody, jak na przykład metoda Monte Carlo, która choć znacznie mniej wydajna nie wymaga żadnych dodatkowych danych ani nie posiada żadnych założeń. • Jak dowodzi program, kwadratura Gaussa na 4 węzłach jest widocznie lepsza niż na 3 węzłach. Obie metody dają jednak błąd zależy od badanej funkcji. W wypadku metody Simpsona sami wybieramy dokładność - możemy zatem dostać znacznie dokładniejszą metodę. Warto jednak zauważyć, że dla bardzo małych dokładności metoda ta działa niemal identycznie z metodą Monte Carlo. Grzegorz Graczyk i Paweł Tarasiuk, Metody Numeryczne, Zadanie 4: Całkowanie 2/2