1 Metody rozwiązywania równań nieliniowych. Postawienie problemu Dla danej funkcji ciągłej f znaleźć wartości x, dla których f(x) = 0. (1) 2 Przedział izolacji pierwiastka Będziemy zakładać, że równanie (1) ma tylko pierwiastki odosobnione. Istnienie co najmniej jednego pierwiastka równania (1) wynika z następującego twierdzenia Twierdzenie 1 (Bolzano-Cauchy ego) Jeżeli funkcja ciągła f przyjmuje na końcach przedziału domkniętego < a, b > wartości o znakach przeciwnych, tzn. f(a) f(b) < 0, to wewnątrz tego przedziału istnieje co najmniej jeden pierwiastek równania f(x) = 0. Warunkiem dostatecznym istnienia w przedziale < a, b > dokładnie jednego pierwiastka równania (1) jest dodatkowe założenie silnej monotoniczności funkcji f w przedziale < a, b > (lub przy założeniu różniczkowalności funkcji f ) założenie że f nie zmienia znaku w tym przedziale, tzn. f(a)f(b) < 0 oraz f(x) jest rosnąca w < a, b >, f(a)f(b) < 0 oraz f(x) jest malejąca w < a, b >, lub (przy założeniu różniczkowalności funkcji f ) f(a)f(b) < 0 oraz x (a, b) f (x) < 0 f(a)f(b) < 0 oraz x (a, b) f (x) > 0 Jest to tylko warunek dostateczny, w rozważanym na ćwiczeniach przypadku funkcja nie spełniała tego warunku, a w badanym przedziale miała dokładnie jeden pierwiastek. Zad. 2.1 Zlokalizować pierwiastki równania x 4 4x 1 = 0. (Wskazówka. Obliczyć pochodną i zbadać, kiedy f (x)=0) Zad. 2.2 Sprawdzić czy przedział a, b] = 1, 2] jest przedziałem izolacji jednego pierwiastka równania F (x) = 0, gdzie F (x) = x 3 3x 2 2x + 5.
3 Metoda bisekcji Metoda bisekcji(metoda połowienia, metoda równego podziału, metoda połowienia przedziału) - jedna z metod rozwiązywania równań nieliniowych. Opiera się ona na twierdzeniu Bolzano-Cauchy ego. Aby można było zastosować metodę bisekcji, muszą być spełnione założenia: 1. funkcja f(x) jest ciągła w przedziale domkniętym x l, x p ] = a, b] 2. funkcja przyjmuje różne znaki na końcach przedziału: f(a)f(b) < 0 (lepiej sgnf(a) sgnf(b)) Przebieg algorytmu: 1. Należy sprawdzić, czy pierwiastkiem równania jest punkt c = xp+x l 2 (lepiej c = x l + xp x l 2 ), czyli czy f(c) = 0 (lepiej f(x s ) < ε). 2. Jeżeli tak jest, algorytm kończy się. W przeciwnym razie c dzieli przedział x l, x p ] na dwa mniejsze przedziały x l, c] i c, x l ]. 3. Następnie wybierany jest ten przedział, dla którego spełnione jest drugie założenie, tzn. albo f(c)f(x l ) < 0 albo f(c)f(x p ) < 0. Cały proces powtarzany jest dla wybranego przedziału. Działanie algorytmu kończy się w punkcie 2, lub po osiągnięciu żądanej dokładności przybliżenia pierwiastka. Warunek stopu: 1. wartość funkcji w wyznaczonym punkcie jest bliska 0: f(c) < ε f 2. odległość pomiędzy kolejnymi przybliżeniami jest dość mała: x l x p < ε x 3. wykonano maksymalną zadaną liczbę kroków M Metoda bisekcji jest w stanie znaleźć tylko jeden pierwiastek w danym przedziale, dlatego musimy skorzystać z innych metod aby dobrać odpowiedni przedział w którym będziemy poszukiwać pierwiastka. Metoda bisekcji jest więc zbieżna liniowo. Zbieżność metody bisekcji jest globalna. tzn jeśli tylko dysponujemy dwoma punktami a i b takimi, że f przyjmuje w nich wartości przeciwnych znaków, to metoda bisekcji z pewnością znajdzie miejsce zerowe funkcji, choćby początkowa długość przedziału a, b] była bardzo duża. Zad. 3.1 Dla funkcji obliczyć metodą bisekcji pierwiastek równania F (x) = 0, gdzie F (x) = x 3 3x 2 2x + 5, a, b] = 1, 2] z dokładnością ε f = 0.1, tj. F (c) < ε f.
Zad. 3.2 Stosując metodę bisekcji rozwiąż następujące równanie przyjmując jako przedział początkowy (0, 2). x 3 + x 2 3x 3 = 0 Zad. 3.3 Metodą bisekcji wyznaczyć pierwiastek równania x 3 2x + 5 = 0. 4 Metoda Newtona (metoda stycznych) Startując z pewnego przybliżenia początkowego x 0, w kolejnych krokach metody, k-te przybliżenie x k jest punktem przecięcia stycznej do wykresu f w punkcie x k 1. Ponieważ równanie stycznej wynosi y(x) = f(x k 1 ) + f (x k 1 )(x x k 1 ), to otrzymujemy następujący wzór x k = x k 1 f(x k 1) f, k = 1, 2,... (x k 1 ) Metoda Newtona i jej podobne należą do grupy metod zbieżnych lokalnie. Znaczy to, że zbieżność ciągu {x k } do zera danej funkcji f jest zapewniona jedynie wtedy, gdy przybliżenia początkowe zostały wybrane dostatecznie blisko przybliżanego pierwiastka x. Zbieżność metody Newtona, gdy f (x ) 0 jest kwadratowa. Warunki dostateczne zbieżności metody 1. Funkcja f należy do klasy C 2 w przedziale a, b]. 2. Funkcja ma różne znaki na krańcach przedziału, tj. f(a)f(b) < 0 3. Pierwsza i druga pochodna mają stały znak w tym przedziale, tj. oraz 4. f(x 0 )f (x 0 ) > 0 x a, b] f (x) > 0 lub x a, b] f (x) < 0 x a, b] f (x) > 0 lub x a, b] f (x) < 0 Uwaga 4.1 Jeżeli dla każdego x a, b] mamy f (x)f (x) < 0, to x 0 = a, f (x)f (x) > 0, to x 0 = b. Zad. 4.1 Wykonaj 2 kroki metody Newtona w celu znalezienia pierwiastka równania x 3 + 3x 2 1 = 0, x 3 ] 4, 1. 2 Przybliżenie początkowe x 0 = 3 4. Zbadaj zbieżność metody Newtona w tym przypadku.
Zad. 4.2 Korzystając z metody Newtona wyznacz a. Zad. 4.3 Wyznacz 1/b przy pomocy metody Newtona. Zad. 4.4 Korzystając z metody Newtona wyznacz 5 z dokładnością ε x = 0, 01. Zad. 4.5 Oblicz 5 pierwszych przybliżeń miejsc zerowych funkcji f(x) = x 4 + 8 metodą Newtona. Przedział początkowy a, b] = 0, 12]. Zad. 4.6 Równanie x 2 2 = 0 ma pierwiastki. Stosując metodę Newtona oblicz dodatni pierwiastek tego równania zaczynając od punktu startowego 1. 5 Metoda siecznych W metodzie stosuje się przybliżenie sieczną. Metoda ta wykorzystuje więc do konstrukcji x k przybliżenia x k 1 i x k 2. Musimy również wybrać dwa różne punkty startowe x 0 i x 1. Ponieważ sieczna dla f w punktach x k 1 i x k 2 ma wzór otrzymujemy y(x) = x x k 2 f(x k 1 ) + x x k 1 f(x k 2 ), x k 1 x k 2 x k 2 x k 1 x k = x k 1 f(x k 1 ) x k 1 x k 2, k = 1, 2,... f(x k 1 ) f(x k 2 ) Metoda siecznych jest zbieżna nadliniowo. Zbieżność metody siecznych jest lokalna. Warunki dostateczne zbieżności metody 1. Funkcja f należy do klasy C 2 w przedziale a, b]. 2. Funkcja ma różne znaki na krańcach przedziału, tj. f(a)f(b) < 0 3. Pierwsza i druga pochodna mają stały znak w tym przedziale, tj. x a, b] f (x) > 0 lub x a, b] f (x) < 0 oraz x a, b] f (x) > 0 lub x a, b] f (x) < 0 4. f(x 0 )f (x 0 ) > 0 oraz f(x 1 )f (x 1 ) > 0.
Zad. 5.1 Wyznacz 2 kolejne przybliżenia liczby 3 metodą siecznych przyjmując jako dwa pierwsze przybliżenia początkowe a) x 0 = 1, x 1 = 2, b) x 0 = 2, x 1 = 3, Zad. 5.2 Metoda siecznych wyznacz miejsce zerowe funkcji f(x) = x 3 + x 2 3x 3 w przedziale (1, 2) z dokładnością a) x k+1 x k < ε x = 0, 1, b) f(x k+1 < ε f = 0, 001, przyjmując x 0 = a = 1, x 1 = b = 2. Zad. 5.3 Wykonać trzy kroki metody siecznych w celu znalezienia rozwiązania równania e x 1 + x 2 2 = 0 na przedziale 0, 2]. Zad. 5.4 Wyznacz 2 kolejne przybliżenia 3 4 metodą siecznych przyjmując jako dwa początkowe przybliżenia x 0 = 1, x 1 = 2.
6 Metoda Regula falsi Niech f : a, b] R będzie funkcją ciągłą oraz f(s 0 )f(u 0 ) < 0, gdzie s 0, u 0 a, b]. Oznaczmy przez conv{s 0, u 0 } najmniejszy przedział zawierający s 0, u 0, tzn. s 0, u 0 ], gdy s 0 < u 0 lub u 0, s 0 ], gdy u 0 < s 0. Metoda regula falsi polega na konstrukcji metodą siecznych dwóch monotonicznych, ograniczonych ciągów {s n } i {u n } spełniających warunki f(s n )f(u n ) < 0 conv{s n, u n } conv{s n 1, u n 1 } dla każdego n = 1, 2,.... Jeżeli s n, u n są juz obliczone, to s n+1, u n+1 oblicza się następująco: 1. Stosujemy metodę siecznych dla punktów s n, u n. Otrzymujemy x n+1 = s n f(s n) fu n, s n ] = s u n s n n f(s n ) f(u n ) f(s n ) conv{s n, u n } 2. Jeśli f(x n+1 ) = 0 to metodę przerywamy zwracając x = x n+1 3. W przeciwnym razie przyjmujemy s n+1 = s n, u n+1 = x n+1, gdy f(s n )f(x n+1 ) < 0 albo s n+1 = x n+1, u n+1 = u n, gdy f(x n+1 )f(u n ) < 0 Obliczenia kontynuujemy, aż f(x n ) = 0 lub do spełnienia warunku x n+1 x n < ε, gdzie ε jest określoną z góry dokładnością. Jeżeli funkcja f(x) jest ściśle monotoniczna i wklęsła lub wypukła w całym przedziale a, b] to ciąg kolejnych przybliżeń pierwiastka x równania f(x) = 0 jest ciągiem ściśle monotonicznym. Metoda regula falsi przy spełnieniu warunków początkowych jest zbieżna globalnie, przy czym w najgorszym przypadku zbieżność ta może być liniowa. Zad. 6.1 Wykonaj dwa kroki metody regula falsi w celu przybliżenia zera funkcji f(x) = x 2 3, przyjmując s 0 = 1, u 0 = 2. Zad. 6.2 Wykonaj dwa kroki metody regula falsi w celu przybliżenia zera funkcji f(x) = x 2 3x + 1 w przedziale 0, 1]. Zad. 6.3 Metodą regula falsi wyznacz pierwiastek równania x 2 2 = 0 z dokładnością ε = 0.1, przyjmując s 0 = 1, u 0 = 2. Zad. 6.4 Wyznacz przy pomocy metody regula falsi trzy kolejne przybliżenia x 1, x 2, x 3 pierwiastka funkcji f(x) = 2 1 x, przyjmując s 0 = 1 4, u 0 = 1.
7 Wielowymiarowa metoda Newtona Metodę Newtona można uogólnić na przypadek układu k równań nieliniowych z k niewiadomymi: F 1 (x 1,..., x k ) = 0,. F n (x 1,..., x k ) = 0, który zapisujemy w postaci wektorowej F (x) = 0, gdzie F (x) = F 1 (x),..., F k (x)] T, x = x 1,..., x k ] T. Metoda Newtona w tym przypadku ma postać: 1 x (n+1) = x (n) df (x )] (n) F (x (n) ), n = 0, 1,..., gdzie x (0) = df (x (n) ) = x (0) ] T 1,..., x(0) k przybliżenie początkowe, F 1 x 1 (x (n) ),..., F 2 x 1 (x (n) ),...,. F k x 1 (x (n) ),...,. F 1 x k (x (n) ) F 2 x k (x (n) ). F k x k (x (n) ) macierz Jacobiego, df (x (n) )] 1 macierz odwrotna do macierzy Jacobiego. Algorytm: Wprowadzamy oznaczenie x = x (n+1) x (n) = następnie obliczamy x (n+1) 1 x (n) 1,..., x(n+1) k x (n) ] T k, a df (x (n) ) x = F (x (n) ) -rozwiązać układ równań (np. przy pomocy eliminacji Gaussa) x x (n+1) = x (n) + x -wyznaczyć kolejne przybliżenie Zad. 7.1 Wykonaj metodą Newtona dwa kroki obliczeniowe dla układu równań: x 2 + y 2 = 5 xy = 2 przyjmując jako punkt startowy punkt o współrzędnych (0, 1). Zad. 7.2 Rozwiązać metodą Newtona układy równań 2x 3 1 A) x2 2 = 1 x 1 x 3 2 x 2 = 4 B) 4x 2 1 x2 2 = 0 4x 1 x 2 2 x 1 = 1 przyjmując za przybliżenie początkowe wektor A) x (0) = 1, 4] T, B) x (0) = 0, 1] T (dwie iteracje).
8 Metoda iteracji prostej Metoda iteracji prostej wyznaczania miejsca zerowego jest oparta na twierdzeniu Banacha o punkcie stałym odwzorowania zwężającego. Zakładamy, że f : a, b] a, b]. Najpierw nasze równanie nieliniowe f(x) = 0, (2) przekształcamy (dobierając odpowiednią funkcję φ) do równania równoważnego (tzn. mającego te same rozwiązania) x = φ(x). (3) Taki x, dla którego zachodzi powyższa równość, nazywamy punktem stałym odwzorowania φ. Następnie, startując z pewnego przybliżenia początkowego x 0 a, b], konstruujemy ciąg kolejnych przybliżeń x k według wzoru x k+1 = φ(x k ), k = 0, 1,.... (4) Z twierdzenia Banacha wynika następujący warunek wystarczajacy zbiezności ciągu (4): Twierdzenie 2 Niech funkcja φ : a, b] a, b] bedzie rózniczkowalna w przedziale a, b]. Załóżmy, że Wówczas 0<q<1 x (a,b) f (x) q < 1. 1. dla każdego przybliżenia początkowego x 0 a, b], ciąg kolejnych przybliżeń (4) jest zbiezny do pewnego x a, b], tzn. istnieje granica lim n x n = x, 2. x jest jedynym rozwiązaniem równania (3) w a, b], 3. n N0 x x n qn q 1 x 1 x 0. Proces iteracyjny kontynuujemy, aż gdzie ε jest zadaną dokładnością. x n x n 1 1 q q ε, Zad. 8.1 Obliczyć metodą iteracji pierwiastek równania x 3 + x = 1000 z dokładnością 10 4. Wskazówka. Równanie ma jeden pierwiastek rzeczywisty w przedziale 9, 10]. Zad. 8.2 Ustalić przedział do którego należy pierwiastek równania, a następnie znaleźć jego przybliżoną wartość 1. x 4 x 10 = 0 2. x 3 + x 5 = 0 metodą iteracji (pierwsze i drugie przybliżenie).