Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wstęp do metod numerycznych Wykład 7 Metody rozwiązywania równań i układów równań nieliniowych 1 dr inż. Wojciech Bieniecki Instytut Matematyki i Informatyki.

Podobne prezentacje


Prezentacja na temat: "Wstęp do metod numerycznych Wykład 7 Metody rozwiązywania równań i układów równań nieliniowych 1 dr inż. Wojciech Bieniecki Instytut Matematyki i Informatyki."— Zapis prezentacji:

1 Wstęp do metod numerycznych Wykład 7 Metody rozwiązywania równań i układów równań nieliniowych 1 dr inż. Wojciech Bieniecki Instytut Matematyki i Informatyki

2 Wstęp 2 Niels Henrik Abel ( ) matematyk norweski. Pochodził z biednej rodziny. W wieku 15 lat Abel zaczął studiować matematykę wyższą, czytając dzieła Eulera, Lagrange'a i Laplace'a. W wieku lat 16 udało mu się udowodnić wzór dwumianowy dla dowolnego wykładnika rzeczywistego. W latach przebywał na koszt państwa w Berlinie i Paryżu. Od 1827 docent uniwersytetu w Chrystianii. Jeszcze w szkole Abel podjął badania nad rozwiązaniem równań piątego stopnia przez pierwiastniki, następnie zainteresował się równaniami całkowymi i całkami eliptycznymi, które doprowadziły go do funkcji eliptycznych. W 1824 podjął na nowo badania nad rozwiązalnością równań algebraiczych stopnia 5 i przy pomocy stworzonej niezależnie od Galois teorii grup udało mu się udowodnić, że w ogólnym przypadku równanie takie nie daje się rozwiązać przez pierwiastniki. Inne jego prace dotyczyły zbieżności szeregów liczbowych i potęgowych. W 1829 Uniwersytet Berliński, w uznaniu jego zasług zaproponował mu objęcie katedry matematyki. Niestety, kilka dni po otrzymaniu tej wiadomości, Abel zmarł na gruźlicę, której nabawił się wskutek złych warunków życia w dzieciństwie i młodości

3 Wstęp 3 Pierwiastki równania nieliniowego f(x) = 0 (1) na ogół nie dają wyrazić się za pomocą wzoru analitycznego. Abel podjął badania nad rozwiązaniem równań piątego stopnia przez pierwiastniki, udało mu się udowodnić, że w ogólnym przypadku równanie takie nie daje się rozwiązać przez pierwiastniki. Dlatego duże znaczenie mają metody przybliżonego rozwiązywania równań. Są to metody kolejnych przybliżeń pierwiastka czyli metody iteracyjne. Pierwiastnikiem nazywamy liczbę, którą można zapisać przy użyciu czterech działań arytmetycznych i działania pierwiastkowania.

4 Wstęp – metody iteracyjne 4 W metodach tych zadanie znalezienia pierwiastków uważamy za wykonane, jeśli potrafimy określić je z żądaną dokładnością i podać oszacowanie błędu. Oznacza to, że startując od jednego lub kilku przybliżeń początkowych pierwiastka konstruuje się ciąg x 0, x 1, x 2,... zbieżny do tego pierwiastka. Trzeba jednak pamiętać, że większość metod przybliżonego rozwiązywania równań można stosować jedynie wtedy, gdy znany jest przedział, w którym znajduje się pojedynczy pierwiastek (przedział izolacji).

5 Metoda bisekcji 5 Dane jest równanie (1), przy czym o funkcji f(x) zakładamy, że jest ciągła na przedziale domkniętym, wewnątrz którego znajduje się dokładnie jeden pierwiastek i na którego końcach wartości funkcji f(x) mają przeciwne znaki, tzn. f(a)  f(b)<0. Zadanie polega na znalezieniu przybliżonej wartości pierwiastka równania (1). W tym celu dzielimy przedział na połowy punktem Jeżeli f(x 1 ) = 0, to x 1 jest szukanym pierwiastkiem. Jeśli zaś f(x 1 )  0, to z otrzymanych dwóch przedziałów i wybieramy ten, na końcach którego funkcja f(x) ma przeciwne znaki. Z kolei ten przedział dzielimy na połowy, ponownie badamy wartość funkcji f(x) w punkcie x 2, znaki funkcji f(x) na końcach przedziałów itd.

6 Metoda bisekcji 6 W wyniku takiego postępowania po pewnej liczbie kroków albo otrzymamy pierwiastek dokładny f(x n )=0, albo ciąg przedziałów takich, że f(x i )∙ f(x i+1 ) < 0, przy czym x i oraz x i+1 są odpowiednio początkiem i końcem i-tego przedziału, a jego długość wynosi: Lewe końce ciągu przedziałów tworzą ciąg niemalejący i ograniczony z góry, a prawe końce ciąg nierosnący i ograniczony z dołu, więc z (2) wynika, że istnieje ich wspólna granica . (2) Ze względu na stosowaną metodę obliczeniową, ten sposób znajdowania pierwiastków nazywamy metodą bisekcji (także metodą połowienia lub metodą równego podziału).

7 Algorytm 7 odczytujemy krańce przedziału poszukiwań pierwiastka (x A, x B ) i obliczamy wartość funkcji w punkcie f A = f(x A ). Sprawdzamy, czy f A *f(x B )<0. Jeśli nie, to zgłaszamy błąd i przerywamy wykonywanie algorytmu. Obliczenia będziemy prowadzić w pętli. Liczbę iteracji oznaczymy przez i. i=1 Wewnątrz pętli obliczamy punkt środkowy przedziału x 0 jako średnią arytmetyczną krańców oraz f 0 =f(x 0 ). Sprawdzamy, czy |f 0 | < epsilon, czyli wpada w otoczenie zera. Jeśli tak, to punkt x 0 jest przybliżonym pierwiastkiem funkcji i możemy zakończyć wypisując wyniki obliczeń W przeciwnym razie sprawdzamy, w której z dwóch połówek podzielonego przedziału argumentów funkcja zmienia swój znak na przeciwny. Może to być połówka lub. Właściwą połówkę przyjmujemy za nowy przedział poszukiwań pierwiastka i o ile pętla nie wykonała jeszcze maksymalnej ilości obiegów, kontynuujemy

8 Przykład 8 Metodą bisekcji znaleźć rzeczywisty pierwiastek równania x 3 + x ‑ 1 = 0. Łatwo sprawdzić, że pierwiastek ten znajduje się w przedziale. Mamy f(0) = -1 oraz f(1) = 1. Pochodna f ’(x) =3x = 0 jest w przedziale dodatnia, więc jest to przedział izolacji pierwiastka. ixixi f(xi)f(xi)

9 Metoda regula falsi 9 Nazwa metody pochodzi od łacińskich słów: regula - linia i falsus - fałszywy. Jest to zatem metoda fałszywego założenia liniowości funkcji. Zakładamy, że w rozpatrywanym przedziale równanie (1) ma dokładnie jeden pierwiastek pojedynczy i że f(a) f(b) < 0. Ponadto niech f(x) będzie w przedziale funkcją klasy C 2 i niech jej pierwsza i druga pochodna mają stały znak w tym przedziale. Z założeń tych wynika, że wykres funkcji y = f(x) może mieć jedną z czterech postaci przedstawionych na rysunkach

10 Metoda regula falsi 10 Rozpatrzmy przypadek, gdy w przedziale pochodne f’(x) i f”(x) są dodatnie. Odciętą x 1 punktu, w którym cięciwa AB przecina oś ox, przyjmuje się jako pierwsze przybliżenie szukanego pierwiastka równania f(x) = 0. Jeżeli f(x 1 ) = 0, to oczywiście x 1 jest szukanym pierwiastkiem  i zadanie jest zakończone. (Dla funkcji f(x) takiej, że f’(x) > 0 i f’’(x), nieruchomy byłby punkt A). Jeżeli przybliżenie x 2 jest nadal niewystarczające, to przez punkty B i D(x 2, f(x 2 )) prowadzimy trzecią cięciwę, co daje nam trzecie przybliżenie x 3 itd. Przez punkty A(a, f(a)) i B(b, f(b)) prowadzimy cięciwę o równaniu: (3)

11 Metoda regula-falsi 11 Można wykazać, że przy przyjętych założeniach ciąg ten jest rosnący i ograniczony, a więc zbieżny, i że jego granicą jest szukany pierwiastek . przy czym Stąd f(g) = 0, a przy założeniu istnienia tylko jednego pierwiastka w przedziale mamy g  . (Jeśli nieruchomy jest punkt B, to kolejne wyrazy ciągu przybliżeń są mniejsze od  oraz f(x k ) < 0 dla każdego k). Przechodząc do granicy dla n   z równości (3) otrzymujemy

12 Przykład 12 Metodą regula falsi znaleźć rzeczywisty pierwiastek równania: 3x ‑ cos x-1=0 Badając funkcję występującą w równaniu możemy stwierdzić, że w przedziale ma ona dokładnie jedno miejsce zerowe (w badanym przedziale f’(x)>0 oraz f’’(x)>0. Kolejne jego przybliżenia obliczone według wzoru (3) znajdują się w tabeli x i f(xi)f(xi) a = 0.25 b = 0.75 x 1 = x 2 = x 3 = x 4 = x 5 =

13 Cechy obu metod 13 Podstawową zaletą metody bisekcji oprócz jej dużej prostoty jest pewność, że w każdej kolejnej iteracji szukany pierwiastek leży między dwiema wartościami zmiennej x, dla których funkcja f(x) zmienia znak. Metoda regula falsi jest zbieżna dla dowolnej funkcji ciągłej w przedziale (oczywiście f(a)f(b) < 0), jeżeli tylko pierwsza pochodna tej funkcji jest ograniczona i różna od zera w otoczeniu pierwiastka. Wielokrotne powtarzanie obliczeń doprowadzić musi zatem do uzyskania wyniku z żądaną dokładnością. Jeżeli druga pochodna nie zmienia znaku w rozpatrywanym przedziale, to ten koniec przedziału, w którym f’’(x)*f’(x)>0, jest stałym punktem iteracji - wszystkie cięciwy przechodzą przez ten punkt. Wadą metody jest jej stosunkowo powolna zbieżność.

14 Metoda siecznych 14 Metodę regula falsi można znacznie ulepszyć, jeżeli zrezygnuje się z żądania, aby w punktach wytyczających kolejną cięciwę funkcja f(x) miała różne znaki (za wyjątkiem pierwszej iteracji). Do wyznaczenia (k+1)- szego przybliżenia wykorzysta się punkty x k oraz x k- 1. Wzór (3) Przyjmie wówczas postać Takie podejście do problemu znacznie przyspiesza znajdowanie pierwiastka funkcji Musimy przyjąć założenie, że w przedziale pierwsza pochodna f '(x) jest różna od zera. Nie istnieje zatem minimum lub maksimum lokalne. Ten warunek gwarantuje nam, iż sieczna nie będzie równoległa do osi OX, co uniemożliwiłoby wyznaczenie jej punktu przecięcia z tą osią. (4)

15 Przykład z interpretacją graficzną 15 Za początkowe punkty x 1 i x 2 przyjmujemy punkty krańcowe przedziału poszukiwań pierwiastka. Ponieważ funkcja zmienia znak w tym przedziale i jest określona oraz ciągła, mamy gwarancję istnienia pierwiastka. Z punktów wykresu funkcji dla x 1 i x 2 prowadzimy sieczną - na rysunku zaznaczoną kolorem czerwonym. Punkt przecięcia się tej siecznej z osią OX daje nam następny punkt x 3.

16 Przykład z interpretacją graficzną 16 Drugą sieczną prowadzimy z punktów wykresu funkcji dla x 2 oraz x 3. Otrzymujemy punkt x 4. Trzecia sieczna prowadzona jest z punktów wykresu funkcji dla x 3 i x 4. Otrzymujemy kolejny punkt x 5. Już widać, iż leży on bardzo blisko rzeczywistego pierwiastka funkcji. Ostatnią sieczną prowadzimy z punktów wykresu funkcji dla x 4 i x 5. Otrzymany punkt x 6 jest już dostatecznie blisko pierwiastka funkcji.

17 Zbieżność metody siecznych 17 Jej zbieżność jest znacznie szybsza, niż metody regula falsi. Niestety, zdarzają się przypadki, gdy może nie być zbieżna, np. gdy początkowe przybliżenia nie leżą dostatecznie blisko pierwiastka. W metodzie tej istotne znaczenie ma maksymalna graniczna dokładność wynikająca z przyjętej arytmetyki. Gdy bowiem różnica x k+1 – x k jest tego samego rzędu, co oszacowanie błędu, jakim jest obarczona, następne przybliżenie może już być całkowicie błędne. Poprawnym warunkiem zakończenia algorytmu jest Dlatego też za dodatkowe kryterium przerwania iteracji należy przyjmować wartości  f(x k )  tak, aby tworzyły one ciąg malejący (w końcowej fazie obliczeń). lub

18 Algorytm Odczytujemy punkty x1 oraz x2 do wyznaczenia pierwszej siecznej. Nie muszą one obejmować przedziału, w którym funkcja zmienia znak, jednakże jest to wskazane. 2. Obliczamy wartości f1 i f2 dla tych punktów, oraz ustawiamy licznik pętli i na wartość max (ograniczenie iteracji) 3. Przetwarzamy pętlę a) Sprawdzamy warunki stopu b) Korzystając z wzoru (4) wyznaczamy x0 i f0. c) Sprawdzamy kolejny warunek stopu d) Podstawiamy wartości x1,x2, f1, f2 dla kolejnej iteracji e) Dekrementujemy licznik iteracji

19 Metoda Newtona - Raphsona 19 Metoda Newtona dla przypadku jednowymiarowego jest rozwinięciem metody siecznych Mamy daną funkcję f(x ), która dla przedziału spełnia warunki 1.Jest określona 2.Jest ciągła 3.f’  0 4.f(a)∙f(b)<0 Oznacza to, że funkcja f ma w przedziale jeden pierwiastek Przyjmujemy punkt startowy x 0  Jeśli we wzorze metody siecznych: (4) punkty x i-1 i x i-2 zaczną się do siebie zbliżać dążąc w granicy do równości, to ułamek tam występujący przejdzie w odwrotność pochodnej funkcji f(x) w punkcie x i-1 :

20 Metoda Newtona - Raphsona 20 Punkty x i-1 i x i-2 zaczną się do siebie zbliżać dążąc w granicy do równości, to ułamek tam występujący przejdzie w odwrotność pochodnej funkcji f(x) w punkcie x i-1 : Geometrycznie – sieczna stanie się styczną do wykresu funkcji w punkcie x i-1. (nachylenie stycznej do wykresu funkcji to wartość jej pochodnej) Do wyznaczenia kolejnego przybliżenia pierwiastka x i potrzebujemy tylko jednego punktu, który został wyznaczony w poprzednim obiegu - w metodzie siecznych potrzebne były dwa punkty. Zaletą metody Newtona jest bardzo szybka zbieżność. Wadą - we wzorze występuje pochodna, której obliczenie może być trudne dla niektórych funkcji.

21 Ilustracja geometryczna 21 Obliczenia rozpoczynamy od punktu x o. W przedziale pomiędzy punktem x o a docelowym pierwiastkiem funkcja musi posiadać niezerową pierwszą pochodną. Pożądane jest również, aby w punkcie x o druga pochodna miała ten sam znak, co funkcja f(x). W przeciwnym razie metoda Newtona zamiast zbliżać się do punktu pierwiastka ucieknie od niego. Obliczamy nowy punkt x o zgodnie ze wzorem i sprawdzamy, czy wartość funkcji w tym punkcie jest dostatecznie bliska 0. Jeśli tak, kończymy. W przeciwnym razie wyznaczony kolejny punkt x o wykorzystując ostatnio wyliczony. Działania te prowadzimy dotąd, aż zbliżymy się dostatecznie do pierwiastka funkcji - różnica pomiędzy dwoma kolejno wyznaczonymi pierwiastkami będzie dostatecznie mała. Ponieważ metoda Newtona może być rozbieżna przy źle wybranym punkcie startowym, będziemy zliczali obiegi - jeśli rozwiązanie nie pojawi się po wykonaniu zadanej ich liczby, przerwiemy obliczenia.

22 Przykład 22 Przykładem zastosowania metody Newtona jest rekurencyjne wyliczanie pierwiastka kwadratowego z danej liczby p. Wartość pierwiastka jest miejscem zerowym funkcji: Pochodna tej funkcji wyraża się wzorem: Przyjmijmy za punkt startowy pewną liczbę x 0. Wtedy pierwsze przybliżenie otrzymamy wg wzoru: Kolejne przybliżenie otrzymamy podstawiając we wzorze za x 0 otrzymane x 1. Wg tej metody postępujemy dotąd, aż różnica dwóch ostatnich przybliżeń będzie mniejsza od pożądanej dokładności wyznaczenia pierwiastka.

23 Przykład 23 Dla przykładu wyznaczmy tą metodą pierwiastek z liczby 5 z dokładnością do 0,01. Za punkt początkowy przyjmijmy 5.

24 Schemat blokowy 24 Algorytm wyznaczania pierwiastka funkcji metodą Newtona rozpoczyna się od odczytu punktu startowego x o. W następnym kroku ustalamy wartość punktu x 1 - będzie on przechowywał poprzednie przybliżenie pierwiastka. Jednakże na początku "poprzednie" przybliżenie jeszcze nie zostało policzone, zatem zmiennej x 1 nadajemy taką wartość, aby wykonała się pętla wyliczająca pierwiastek funkcji. Dodatkowo do zmiennej f o wpisujemy wartość funkcji w punkcie x o oraz ustalamy maksymalną liczbę obiegów pętli na 64 w zmiennej i.

25 Przykład – punkt startowy 25 Wybór punktu startowego x 0 jest bardzo istotny i może decydować o zbieżności ciągu kolejnych przybliżeń. Zbadaj zależność rozwiązania równania metodą Newtona od wyboru punktu startowego x 0. Wykres funkcji y(x) Przedstawia rysunek obok. Badana funkcja ma dwa rzeczywiste pierwiastki x 1 > 0 oraz x 2 < 0.

26 Przykład – punkt startowy 26 Wyniki obliczeń tych pierwiastków z różną dokładnością i dla różnych punktów startowych (niekiedy bardzo odległych od szukanych pierwiastków) zebrane są w tabeli. x0x dokładność liczba iteracji , Z tabeli wynika, że osiągnięcie dokładności tysiąc razy większej wymaga tylko jednego kroku więcej. Warto zwrócić uwagę na to, że wartość kolejnego przybliżenia najbardziej zmienia się w pierwszych iteracjach. Wybór punktu startowego ma także znaczenie - np. dla x 0 = -1 potrzeba 4 iteracji, zaś 11 iteracji dla x 0 = 100. W wyniku przeprowadzonych obliczeń stwierdzono, że wartość pochodnej f’(x) począwszy od drugiej iteracji zmienia się nieznacznie.

27 Dalsze rozważania 27 Z wyrażenia na h k wynika, że pochodną f’(x) można obliczać z taką dokładnością względną, z jaką oblicza się f(x). Można więc nie wyznaczać f’(x) w każdej iteracji. Znacznie przyspiesza to proces iteracyjny (szczególnie dla układów równań nieliniowych), nie wpływając znacząco na jego zbieżność. Uproszczony wzór przyjmuje postać

28 Dalsze rozważania 28 Jeśli poszukujemy pierwiastka równania f(x) = 0 metodą Newtona w przedziale jego izolacji, to warunkiem koniecznym zbieżności jest, aby punkt startowy x 0 znajdował się w tym przedziale. Metoda Newtona zapewnia zbieżność procesu iteracyjnego wtedy, gdy w przedziale izolacji pierwiastka pierwsza i druga pochodna funkcji f(x) nie zmieniają znaku. Punkt startowy x 0 należy wybierać następująco: x 0 = a,jeśli f(x)∙f’(x)<0 – przypadek 2 i 3 x 0 = b,jeśli f(x)∙f’(x)>0 – przypadek 1 i 4 Zwiększenie czasu obliczeń lub niemożność znalezienia pierwiastka ma miejsce wówczas, gdy wybierzemy punkt początkowy odwrotnie, niż wskazano powyżej

29 Dalsze rozważania 29 Rysunek ilustruje przypadki niewłaściwego doboru punktu startowego x 0 w metodzie Newtona, co może doprowadzić do znalezienia innego pierwiastka lub przerwać obliczenia na skutek znalezienia punktu x 1 poza przedziałem określoności funkcji lub w nieskończoności.

30 Przykład porównawczy 30 Stosując różne wzory iteracyjne rozwiązać równanie Metoda bisekcji Przyjmujemy: początek przedziału: 0.34, koniec przedziału: 0.98, dokładność: Znaleziony pierwiastek: x = , liczba iteracji: 13. x + ln x = 0. Pokazać, że szybkość zbieżności zależy od zastosowanego wzoru.

31 Przykład porównawczy 31 Stosując różne wzory iteracyjne rozwiązać równanie x + ln x = 0. Pokazać, że szybkość zbieżności zależy od zastosowanego wzoru. Metoda regula falsi Przyjmujemy: początek przedziału: 0.34, koniec przedziału: 0.98, dokładność: Znaleziony pierwiastek: x = , liczba iteracji: 13.

32 Przykład porównawczy 32 Stosując różne wzory iteracyjne rozwiązać równanie Metoda Newtona Przyjmujemy: punkt startowy: 1, dokładność: Znaleziony pierwiastek: x = , liczba iteracji: 4 x + ln x = 0. Pokazać, że szybkość zbieżności zależy od zastosowanego wzoru.

33 Metoda Mullera 33 Jest to metoda ekstrapolacji/interpolacji kwadratowej Poprzednie metody siecznej i stycznej używały modelu liniowego funkcji w bieżącym punkcie dla predykcji (przez interpolację lub ekstrapolację) zera funkcji. Dla funkcji z dużą krzywizną w okolicy zera oznacza to wolną zbieżność algorytmu. Naturalne więc jest zastąpienie linii prostej parabolą co powinno skutkować lepszą zbieżnością. To właśnie realizuje algorytm Mullera.

34 Metoda Mullera 34 Mając dane trzy punkty (x, f(x)), można wyznaczyć parabolę o równaniu Jak to zrobić – patrz wykład 2. Dla przypomnienia Gdzie: Zero paraboli interpolującej daje oszacowanie zera funkcji:

35 Układy równań nieliniowych 35 W celu rozwiązania układu n równań nieliniowych metodę Newtona-Raphsona uogólnia się na n-wymiarów. Zbiór argumentów x 1, x 2, x 3,... rozpatrujemy jako n - wymiarowy wektor postaci: Analogicznie zbiór funkcji f 1, f 2, f 3,... traktujemy jako n-wymiarowy wektor Wtedy układ równań można zapisać w postaci

36 Metoda Newtona-Raphsona 36 Iteracyjny wzór Newtona-Raphsona dla układu równań przyjmie postać gdzie J(X) jest obliczoną dla X macierzą Jacobiego (tzw. Jakobian) W przypadku układu równań problem zbieżności jest trudniejszy, niż w przypadku pojedynczego równania. Dlatego bardzo ważne jest dobre przybliżenie startowe.

37 Przykład 37 Znaleźć dwa pierwsze przybliżenia rozwiązania układu równań Jako przybliżenie początkowe przyjmujemy wektor Obliczamya następnie tworzymy macierz Jacobiego

38 Przykład 38 W drugiej iteracji Dokładnym rozwiązaniem układu jest:

39 Metoda Newtona-Raphsona 39 Obliczenia kolejnych przybliżeń w metodzie Newtona znacznie się upraszczają, jeśli nie wyznacza się macierzy odwrotnej do macierzy Jacobiego. Pierwszy wzór można zapisać w postaci Oznaczającotrzymujemy: W przypadku braku zbieżności przerywamy wykonywanie algorytmu. Wskaźnikiem rozbieżności jest wzrost lub oscylacja Z w kolejnych iteracjach. Zwykle wystarcza wykonanie niewielkiej liczby iteracji w celu zorientowania się, czy kontynuacja obliczeń jest celowa. Jeśli nie, to należy zadać nowe warunki początkowe lub zastosować inną metodę.

40 Literatura: Beata Pańczyk, Edyta Łukasik, Jan Sikora, Teresa Guziak Metody numeryczne w przykładach, Politechnika Lubelska Lublin Jerzy Wałaszek Serwis Edukacyjny I LO Tarnów, Miejsca zerowe funkcji


Pobierz ppt "Wstęp do metod numerycznych Wykład 7 Metody rozwiązywania równań i układów równań nieliniowych 1 dr inż. Wojciech Bieniecki Instytut Matematyki i Informatyki."

Podobne prezentacje


Reklamy Google