Metody numeryczne

Transkrypt

Metody numeryczne
Metody numeryczne
Grzegorz Graczyk, 150875
Paweł Tarasiuk, 151021
Odnajdywanie pierwiastka funkcji metodą Netwona
Informacje o metodzie
Metoda Netwona jest bardzo szybką, choć mało uniwersalną metodą. Jest to metoda o zbieżności kwadratowej. Pozwala odnajdywać pierwiastki bardzo szybko - kosztem uniwersalności. Ze
względu na poczynione założenia nie można jej zastosować do wielu funkcji.
Głównym założeniem tej metody jest stały znak pierwszej i drugiej pochodnej.
Informacje o implementacji
Metoda została zrealizowana za pomocą języka skryptowego Python, zaś do rysowania wykresów użyto narzędzia gnuplot. Ze względu na dość niską ilość kodu wymaganego przez to
zadanie można było skupić się na estetyce kodu oraz prezentacji wyników. Aby uniknąć prezentacji wyników w konsoli, co może być niewygodne jest generowany plik html zawierający
zestawienie danych, a także zestaw wykresów przedstawiający pełen przebieg algorytmu.
Warto zauważyć, iż użyte technologie są darmowe oraz pozwalają wykonywać obliczenia na
komputerze zdalnym umożliwiając ich graficzną prezentację na komputerze lokalnym, a prezentowany wynik jest w postaci umożliwiającej jego publikację.
Sama metoda została zrealizowana w sposób rekurencyjny - stanowi ona jednak nieznaczną
część całego kodu ( rzędu 3 % linijek kodu ). Zastosowany warunek stopu to próba przejścia do
punktu znajdującego się w otoczeniu o promieniu .
Badane funkcje
Dla każdej badanej funkcji użyto dokładności = 10−7 , zaś wynik został sprawdzony z wykresem.
Funkcja
+ tan(x)
ex − x2 − 2x − 2
x4 − 4x3 + 2x2 − 8
4 sin(x) + 1 − x
x2
Zakres
[1.6, 1.7]
[0, 4]
[3, 4]
[2, 3]
Oczekiwana wartość
1.6873429
2.509337
3.6161057
2.7020614
Otrzymana Wartość
1.6873429
2.6740603
3.6161057
2.7020614
Liczba iteracji
5
8
4
5
Wnioski
• Bez prowadzenia badań można przewidzieć zachowanie metody dla funkcji nie zbieżnych
lokalnie. Metoda zbliża się do rozwiązania zakładając, że styczna do wykresu w badanym
punkcie przecina oś X bliżej rozwiązania niż znajduje się badany punkt. Dla niektórych
funkcji (jak na przykład arcus tangens).
• W jednym z rozważanych przypadków otrzymano wynik inny niż wzorcowy - po porównaniu z wykresem stwierdzono, iż błędnie został policzony wynik wzorcowy.
• Możliwość śledzenia przebiegu algorytmu umożliwia wyciągnięcie wniosków dotyczących
dokładności. W większości przypadków otrzymany błąd jest znacznie mniejszy niż oczeki-
Grzegorz Graczyk i Paweł Tarasiuk, Metody Numeryczne, Zadanie 1
1/2
wany epsilon. Wynika to z faktu, iż algorytm w każdym kroku wykonuje o kilka rzędów
mniejszy skok niż dla poprzedniego.
• Ostatni wniosek dotyczy użyteczności przedstawionej metody. Posiada ona bardzo wiele
wad - narzuca wiele ograniczeń na funkcję wejściową, zaś sam algorytm wymaga wyznaczenia pochodnej. Algorytm jest bardzo szybki, jednak w większości wypadków metoda
połowienia okaże się wystarczająco szybka. Metoda Netwona okaże się przydatna jedynie
przy poszukiwaniu miejsc zerowych z ogromną dokładnością.
Grzegorz Graczyk i Paweł Tarasiuk, Metody Numeryczne, Zadanie 1
2/2