Metody numeryczne 1 (MEN331) - Ćwiczenia 8


Kalendarium, ZasadyĆw1, Ćw2, Ćw3, Ćw4, Ćw5, Ćw6, Ćw7, Ćw8, Ćw9, Ćw10, Ćw11, Ćw12, Ćw13
Prowadzący: Rafał Witkowski
Temat: Rozwiązywanie równań metodami iteracyjnymi: metoda bisekcji, metoda stycznych (metoda Newtona), metoda siecznych, kryteria stopu

Rząd metody iteracyjnej

Definicja

Mówimy, że w punkcie h metoda jest rzędu p, jeśli istnieje liczba rzeczywista p>=1 taka, że

liczbę c nazywamy stałą asymtotyczną błędu.

Twierdzenie

Rząd każdej metody iteracyjnej jednokrokowej jest liczbą naturalną. Funkcja iteracyjna F(x) ma rząd p wtedy i tylko wtedy, gdy

Zadanie 1

Aby rozwiązać równanie x+lnx = 0 można wybrać jeden z następujących wzorów:

a) Który z tych wzorów można użyć?
b) Który z tych wzorów będzie najlepszy do użycia?

Metoda bisekcji

Metoda ta polega na wpierw znalezieniu wpierw dwóch punktów a i b dla których f(a)*f(b) < 0. Następnie należy wybrać środek tego przedziału i zobaczyć jaki on ma znak. Następnym przedziałem, który będziemiy rozpatrywać będzie ten, który będzie w dalszym ciągu spełniał nasz warunek początkowy, czyli jego znaki będą od siebie różne. Jeśli w środku przedziału wartość będzie równa 0, to oczywiście znaleźliśmy miejsce zerowe i nie musimy nic dalej robić.
Metoda ta po n krokach daje nam dokładność 2^n, czyli 1 bit rozwinięcia dziesiętnego na każdy krok. Jest to więc rozwiązanie takie sobie...

Metoda stycznych

Jest to metoda, która działa poprzez poprowadzenie do wykresu funkcji stycznej w punkcie x(n) i przyjęcia za x(n+1) punktu przecięcia tej stycznej z osią OX.
Wzór na tą metodę jest następujący:

Warunki dostateczne zbieżności

Do działania metody stycznej wystarczy spełnienie następujących warunków (wszystkich):

Metoda siecznych

Jest to metoda dwukrokowa, co oznacza, że aby z niej skorzystać trzeba do obliczania kolejnego przybliżenia używać dwóch poprzednich przybliżeń. Działa ona w taki sposób, że przez dwa poprzenie punkty (x, f(x)) przepuszcza się prostą, które one wyznaczają, a kolejne przybliżenie jest przecięciem się tej prostej z osią OX.
Wzór na tą metodę jest następujący:
 

Kryteria stopu

Problem zatrzymywania iteracji, które muszą wykonać pewną liczbę kroków, żeby dostać zadowalającą nas dokładność, jest problemem bardzo złożonym. Na wykładzie zostało dokładnie omówione dlaczego często nie możemy zrobić tego dobrze wprost.
W warunkach rzeczywistych możemy zakończyć iteracje i uznać, że osiągnęliśmy już zadowalające nas przybliżenie pierwiastka danego równania jeśli jednocześnie spełnione są następujące warunki:

gdzie d jest jest pewną graniczną tolerancją używaną tylko po to, aby zapobiec przedwczesnemu zatrzymaniu.

Grube stopowanie

Do stopowania obliczeń możemy też stosować tzw. grube stopowanie, które nie jest tak dobre jak dokładne kryterium stopu podane wcześniej, niemniej często ze względu na złożoność obliczeniową także stosowane.
Są dwa rodzaje owego grubego stopowania.
1) Stopujemy iteracje, jeśli tylko 
2) Stopujemy iteracje, jeśli zadzodzi warunek |f(x)|<d

Zadanie 2

Napisz program, który obliczy przy pomocy metody bisekcji i siecznych pierwiastek równania:

Pierwiastki wielokrotne

Omówionych wcześniej metod iteracyjnych oczywiście nie da się stosować w przypadku, gdy mamy do czynienia z pierwiastkami wielokrotnymi.
W takim przypadku dobry rozwiązaniem będzie to, jeśli zamienimy funkcję f, które pierwiastka szukamy i zastąpimy ją przez nową funkcję postaci: