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