Metody rozwiązywaia rówań ieliiowyc i ic układów
Rozwiązywaie rówań ieliiowyc Ogólie rówaie o jedej iewiadomej moża przedstawić w postaci 0 R gdzie jest wystarczająco regularą ukcją. Naszym celem ie jest zalezieie wzorów aalityczyc rozwiązującyc powyższe rówaie lecz podaie skuteczego algorytmu obliczaia tego rozwiązaia zakładamy że rozwiązaie ie da się wyrazić skończoym wzorem.
Warto zwrócić uwagę a dwa problemy: czy proces iteracyjy jest zbieży jeśli tak to jak szybko proces jest zbieży. Zwykle jeżeli przybliżeie początkowe szukaego pierwiastka r rówaia jest dostateczie blisko r to koleje przybliżeia otrzymywae w procesie iteracyjym są do iego zbieże. 3
Jeżeli iormacje o ukcji są skąpe to ajpierw stosujemy metodę zbieżą iezależie od wartości początkowyc p. metodę bisekcji zbieżą liiowo aż do otrzymaia dobrego przybliżeia początkowego. Następie przecodzimy do kolejej szybszej i eektywiejszej metody w zależości od tego ile razy obliczaa jest wartość ukcji i/lub jej pocoda. 4
Zastosowaie: teoria dyrakcji światła -tg=0 rówaie Keplera -asi=b zera wielomiaów. Postawieie zagadieia Dla daej ukcji : R R zaleźć wartości dla któryc 0. Wartość początkową 0 przyjmujemy jako przybliżeie pierwiastka r koleje przybliżeia wyzaczamy za pomocą ukcji iteracyjej i i i=0. 5
Ogólie:... i i i i i metoda -puktowa 6 jeżeli ukcja i jest stacjoara tz. ie zależy od i stosujemy ozaczeie Metody: metoda bisekcji metoda Newtoa styczyc metoda sieczyc regula alsi
Twierdzeie Bolzao-Caucy ego Jeżeli ukcja C[ a b] i poadto przyjmuje róże zaki a końcac przedziału [ a b] tz. a b 0 to ukcja musi mieć zero w przedziale [ a b]. Jest to kosekwecja własości Darbou ukcji ciągłyc: 7 Fukcja ciągła w przedziale [ a b] przyjmuje w im wszystkie wartości zawarte między a i b.
8 8 4 0 0 4 6 8-4 Jeżeli poadto zak pocodej w tym przedziale jest stały to ukcja ma w im dokładie jede pierwiastek.
Wykładik zbieżości metody jest to ajwiększa liczba p 9 p 0 taka że dla dostateczie dużyc k jest * * C k k p gdzie * to pierwiastek rówaia 0 atomiast C to ieujema stała zwykle zależa od ukcji tzw. stała asymptotycza błędu. Jeżeli p to mówimy o zbieżości liiowej jeżeli p to mówimy o zbieżości poadliiowej.
Metoda bisekcji zaa rówież pod azwą metody połowieia przedziału korzysta z własości Darbou. 0 Jeżeli a b 0 to obliczamy s a b i sprawdzamy czy a s 0. Jeżeli tak to ukcja ma zero w przedziale [ a s] wtedy pod b podstawiamy s. W przeciwym razie jest a s 0 wtedy ukcja ma zero w przedziale [ s b] zatem pod a podstawiamy s.
W obu przypadkac owy przedział dwa razy krótszy od poprzediego zawiera zero ukcji zatem postępowaie moża powtarzamy aż do otrzymaia zadowalającego przybliżeia. Metoda bisekcji pozwala a wyzaczeie jedego zera ukcji a ie wszystkic zawartyc w przedziale [ a b]. Oczywiście jeżeli s 0 to zero zostało zalezioe. Błędy zaokrągleń powodują jedak że otrzymaie zerowej wartości s jest mało prawdopodobe i dlatego rówość
s 0 ie może być stosowaa jako kryterium zakończeia obliczeń. Trzeba dopuścić pewą tolerację przykładowo żeby 5 s 0. Przykład Rozwiązując rówaie 5 0 wyzaczyć dwa koleje przybliżeia wartości 5 metodą bisekcji przedział początkowy [ a b] = [ 05]. Podać iterpretację graiczą. Uwagi dotyczące algorytmu bisekcji. Do badaia zaków a końcac przedziału ależy używać ukcji sigum zak a ie ierówości a s 0
uikiemy wtedy zbędego możeia i ewetualyc błędów zaokrągleń.. Program powiie uwzględiać trzy kryteria zakończeia obliczeń: maksymalą liczbę kroków dopuszczoą przez użytkowika dla bezpieczeństwa wartość ukcji dostateczie bliską zeru odległość między dwoma kolejymi rozwiązaiami dostateczie bliską zeru dostateczie mały błąd. 3
4 8 4 0-4 - -4 0 4-8 - s ale zawodzi kryterium b a
5 8 4 0-4 - -4 0 4-8 - b a ale zawodzi kryterium s
6 Opis metody Krok : dzielimy przedział [ a b] a połowę tz. s a b Krok : jeżeli s 0 to s jest szukaym pierwiastkiem rówaia i metodę kończymy Krok 3: jeżeli s 0 to wybieramy te z przedziałów [ a ] lub [ b] w którym ukcja zmieia zak Krok 4: Powtarzamy kroki -3 dopóki ie otrzymamy żądaej dokładości za szukae przybliżeie przyjmujemy środek wyzaczoego przedziału.
Faktyczie w tej metodzie moża z góry określić maksymalą liczbę iteracji zapewiającą żądaą dokładość. 7 Aaliza błędu Stosując metodę bisekcji otrzymujemy ciąg zstępującyc b a 0 0 przedziałów [ a b ] i i i 0... takic że bk ak. k W celu wyzaczeia liczby kroków wystarczy rozwiązać b a rówaie. k
Najlepszym przybliżeiem jest środek przedziału b0 a a błąd tego przybliżeia wyosi r s bisekcji jest dosyć wola zbieża liiowo p. s 0 8 a b. Metoda
9 r wyzaczaie przybliżeń pierwiastka r
Algorytm double double ; //zwraca wartość ukcji =0 0 double bisectdouble a double b double eps double delta { double a = a; double b = b; double s s; it iter = 0 ma=00; i absa < eps retur a; i absb < eps retur b; i a * b < 0 {
do { s = 0.5 * a + b; s = s; i a * s < 0 { b = s; b = s; } else { a = s; a = s; } iter = iter + ; } wile abss >eps && absb-a >delta && iter <ma; retur 0.5 * a + b; } else cout<< Blede dae ; }
Metoda Newtoa Metoda Newtoa jest szybsza od metody bisekcji gdyż jej zbieżość jest kwadratowa. Gdy tylko przybliżeie początkowe jest dostateczie blisko pierwiastka r wystarczy kilka kroków metody by osiągąć zadowalającą dokładość rozwiązaia. Niestety metoda ie zawsze jest zbieża.
Wyzaczaie ukcji iteracyjej: Jeżeli ukcja jest dostateczie wiele razy różiczkowala w otoczeiu puktu r to możemy skorzystać z rozwiięcia ukcji w szereg Taylora: 3 ' O gdzie r oraz 0 r.
Jeżeli jest małe czyli jest bliskie r to rozsąde jest pomiięcie składika O rówaia względem co daje / '. i rozwiązaie otrzymaego Jeżeli jest przybliżeiem r to + powio być lepszym przybliżeiem tego zera. Metoda Newtoa zaczya od przybliżeia 0 zera r i polega a stosowaiu ormuły: 0... ' 4
5 r r wyzaczaie przybliżeń pierwiastka r
Metoda Newtoa opiera się a liearyzacji ukcji tj. zastąpieiu jej ukcją liiową. Koleje przybliżeia to odcięte puktu przecięcia tej styczej z osią OX. Rówaie styczej w pukcie : 6 y ' Pukt przecięcia z osią OX: y 0 ' Stąd '.
Opis metody Krok : wybieramy pukt [ a ] 0 b Krok : koleje przybliżeia obliczamy ze wzoru Algorytm ' k k k k 0... k bool Newtodouble double eps double delta double & r { it maiter = 0 iter = 0; bool b; double k d p = ; r = ; i abs < eps retur ; 7
else { do { p = prim; i absp < eps retur 0; d = /p; k = - d; = k; b = abs < eps; = k; iter = iter + ; } wile!b && absd > delta && iter < maiter; i b {r = ; retur ; } else retur 0; } } 8
Zbieżość metody 9 Metoda Newtoa może ie być zbieża. Jeżeli jest zbieża to jest bardzo szybka zbieża kwadratowo p. Przykłady. Wykazać że eektywa metoda obliczaia pierwiastka kwadratowego z liczby R daa jest wzorem R
. Wykoać trzy kroki obliczeiowe wyzaczaia pierwiastka rówaia 9 0 metodą bisekcji w przedziale [ 0] oraz metodą Newtoa przyjmując 0. Podać 0 iterpretację graiczą wyzaczaia kolejyc przybliżeń. 30
3 Metoda sieczyc W praktyce pocoda ukcji ie zawsze jest zaa. Zastępujemy ją wówczas ilorazem różicowym ] [ a koleje przybliżeia wyzaczamy ze wzoru ] [... gdzie 0 to dwa koleje przybliżeia pierwiastka.
Iterpretacja geometrycza Przybliżeia to pukty przecięcia sieczej wyzaczoej przez pukty oraz z osią OX. 3
Metoda regula alsi Metoda regula alsi polega a kostruowaiu metodą sieczyc dwóc mootoiczyc ograiczoyc ciągów { s } i u } spełiającyc waruek s 0. { u 33 Krok : stosując metodę sieczyc otrzymujemy: s [ s s u Krok : jeżeli 0 ] kończymy algorytm i przyjmujemy za szukay pierwiastek w przeciwym razie
jeżeli s 0 s s u jeżeli u 0 s u u przyjmujemy przyjmujemy Krok 3: Zastępujemy przez + i wracamy do kroku pierwszego. 34
Rozwiązywaie układów rówań ieliiowyc metodą Newtoa Metoda Newtoa dla układów rówań liiowyc opiera się a idei liearyzacji zastosowaej do pojedyczyc rówań. Rówaia liearyzujemy a astępie rozwiązujemy w razie potrzeby robimy to wielokrotie. 35
36 Twierdzeie. Jeżeli ukcja ] [ ] [ d c b a C i jeżeli pukty oraz leżą w prostokącie ] [ ] [ d c b a to! 0 E k k k gdzie! E 0.
Opis metody Dla ilustracji rozważmy układ dwóc rówań z dwiema iewiadomymi: 0 0 Używając tylko liiowyc człoów rozwiięcia Taylora ukcji dwóc zmieyc oraz zakładając że 37 jest przybliżoym rozwiązaiem tego układu obliczmy poprawki takie by było lepszym przybliżeiem:
38 0 0 Wszystkie pocode cząstkowe tu występujące są obliczae w pukcie. Układ rówań składa się z dwóc rówań liiowyc względem :
39 o macierzy będącej jakobiaem: J
40 Rozwiązaie układu rówań istieje jeżeli macierz J jest ieosobliwa. Wtedy jest oo rówe: J
4 Podsumowując metoda Newtoa dla układy dwóc rówań ieliiowyc wyraża się wzorem: k k k k k k gdzie układ liiowy k k k k k k J którego macierzą jest jakobia rozwiązujemy metodą elimiacji Gaussa.
Układy rówań większego wymiaru rozwiązuje się aalogiczie. Układ rówań postaci:... 0 i... i moża wyrazić jako F X 0 gdzie X... i F.... Wtedy układ rówań przyjmuje postać F X F' X H gdzie H... oraz F i ij ' dla i j... j. 4
Wektor poprawek H F' X F X. 43 W praktyce do rozwiązaia układu rówań stosuje się metodę elimiacji Gaussa. Ostateczie metodę Newtoa dla układu rówań ieliiowyc opisuje wzór: X gdzie H X H k k k k F' X jest rozwiązaiem układu: H F X. k k k
Przykład Wykoać metodą Newtoa dwa kroki obliczeiowe dla układu rówań: 4 y 0 4y przyjmując jako pukt startowy pukt o współrzędyc 0. 44
Algorytm k k Krok Obliczyć F X F' X 45 Krok Rozwiązać metodą elimiacji Gaussa układ rówań F' X Krok 3 Podstawić X H F X k k k X H k k k Krok 4 Powtarzać kroki -3 do otrzymaia zadowalającego rozwiązaia.