Metody numeryczne - laboratorium
Ćwiczenie 6: Znajdowanie miejsc zerowych równań nieliniowych
Wprowadzenie teoretyczne
Dane jest równanie nieliniowe o ogólnej postaci f (x) = 0 . Należy znalezć pewne miejsce zerowe
równania. Do tego służą następujące metody iteracyjne.
Metoda bisekcji (połowienia)
Dany jest początkowy przedział [a0 ,b0], na którym przypuszcza się, że występuje miejsce zerowe
równania. Przedział ten musi spełniać następujące warunki:
1) funkcja f (x) musi być ciągła na przedziale
2) f (a0 ) f (b0 ) < 0 - funkcja musi przyjmować różne znaki na końcach przedziału
W k-tym kroku procedury, wyznacza się punkt środkowy przedziału:
ak + bk
xk =
2
Nowe granice przedziału wyznacza się w zależności od położenia punktu środkowego:
ak +1 = xk ,bk +1 = bk dla f (ak ) f (xk ) > 0
ak +1 = ak ,bk +1 = xk dla f (bk ) f (xk ) > 0
Jeżeli f (xk ) = 0 , to koniec procedury. W przeciwnym wypadku wykonuje się ją tak długo, aż nie
zostanie wypełniony warunek stopu:
- wartość funkcji f (xk ) d" µ , gdzie µ jest z góry zadanÄ… dokÅ‚adnoÅ›ciÄ…
lub
- określona maksymalna liczba iteracji
Reguła falsi
Założenia metody opartej na regule falsi są identyczne, jak w przypadku metody bisekcji.
Również działanie jej opiera się na podobnej zasadzie. Poprzednia metoda w każdym kroku
wykorzystuje jedynie informację o znaku funkcji w rozpatrywanym przedziale. Można dodatkowo
uwzględnić wartość funkcji wyznaczając nowy przedział na podstawie przecięcia siecznej z osią X.
Sieczna wyznaczone jest przez dwa punkty o współrzędnych (ak , f (ak )), (bk , f (bk )).
Równanie prostej przechodzące przez dwa punkty na płaszczyznie:
y - f (ak ) f (bk ) - f (ak )
=
x - ak bk - ak
Ćwiczenie 6: Znajdowanie miejsc zerowych równań nieliniowych
1
Przyjmuje się, że poszukiwany punkt xk spełnia równanie siecznych, to znaczy wartość prostej yk
wynosi 0. StÄ…d wyznacza siÄ™ punkt xk:
(bk - ak )
xk = ak - f (ak )
f (ak ) - f (ak )
Nowe granice przedziału wyznacza się w zależności od położenia wyznaczonego punktu xk. Robi się
to analogicznie jak w metodzie bisekcji. Również warunek stopu jest realizowany w ten sam sposób.
Metoda Newtona
Metoda ta, w przeciwieństwie do metod poprzednich, nie wymaga podania przedziału, na
którym poszukiwane jest miejsce zerowe. Wystarczające jest podanie pojedynczego punktu będącego
pierwszym przybliżeniem szukanego rozwiązania. Metoda uwzględnia nie tylko wartość funkcji, ale
również jej nachylenie (pochodną). Stąd wymagane jest, aby funkcja f (x) miała ciągła pochodną w
otoczeniu rozpatrywanego punktu xk. Idea metody polega na poszukiwaniu rozwiÄ…zania przez
poruszanie się wzdłuż prostej stycznej do funkcji w punkcie. Prosta ta jest opisana równaniem:
y - f (xk )
= f '(xk )
x - xk
Poszukiwany jest punkt xk+1, w którym prosta styczna przecina oś X (y=0):
f (xk )
xk +1 = xk -
f '(xk )
Procedura jest wykonywana, aż nie zostanie osiągnięty punkt o odpowiednio małej wartości,
lub zostanie osiągnięta maksymalna liczba iteracji.
Metoda wymaga wyznaczenia pochodnej funkcji. Jeżeli pochodna nie jest znana analitycznie,
należy zrobić to numerycznie. Prowadzi to do metody siecznych.
Metoda siecznych
Znalezienie miejsca zerowego funkcji w kroku k+1 metody Newtona można zastąpić
następującym wyrażeniem wynikającym z przybliżenia pochodnej różnicą skończoną:
xk - xk -1
xk +1 = xk - f (xk )
f (xk ) - f (xk -1)
Postępowanie jest identyczne jak w metodzie Newtona. Wymaga jednak podania dwóch
początkowych wartości do procedury iteracyjnej (przykładowo, aby wyznaczyć wartość x3 należy znać
wartości x2 oraz x1). W przeciwieństwie do metody bisekcji oraz reguły falsi, początkowe rozwiązania
metody siecznych nie muszą tworzyć przedziału, w którym zawarte jest poszukiwane rozwiązanie
równania.
Ćwiczenie 6: Znajdowanie miejsc zerowych równań nieliniowych
2
Zadania laboratoryjne
Ćwiczenie polegać będzie na zbadaniu 3 różnych metod rozwiązywania równań nieliniowych. W tym
celu należy napisać funkcje realizujące wybrane metody. Język programowania jest dowolny
(Matlab/Scilab oferują wygodne narzędzia i środowisko). Funkcje te należy wykorzystać do zbadania
następujących zagadnień.
Zadanie 1
Dla wybranej metody znalezć oszacowania następujących wartości:
4 3
a) 3 b) 16 c) 15
Sprawdzić szybkość zbieżności oszacowania w zależności od przyjętego punktu/zakresu startowego.
Przy jakiej liczbie iteracji otrzymuje się rozsądną dokładność?
Wskazówka: Rozpatrzyć równanie nieliniowe xn - c = 0
Zadanie 2
Porównaj skuteczność działania opracowanych metod dla następujących przypadków równań:
a) funkcji wielomianowej posiadającej zarówno miejsca zerowe wymierne, jak i niewymierne, np.
y1(x) = (x + 6)*(x + )*(x - 2)*(x - 5)*(x - 50)*(x - 4 )
1
b) funkcji nieliniowej, posiadającej punkt nieciągłości, np. y2 (x) = log(x2 ) - -1 (Uwaga! W
x
implementacji należy uwzględnić przypadek nieciągłości, który może prowadzić do
rozbieżności procedury)
c) funkcji trygonometrycznej, np. y3(x) = sin(x) - cos(x2 )
Proponuje się badać zbieżność procedury rozwiązywania w zależności od:
- wybranej metody,
- badanego miejsca zerowego (dla funkcji posiadających więcej miejsc zerowych),
- punktu/zakresu startowego,
- zadanej dokładności.
Narysować wykres błędu bezwzględnego/względnego (przyjąć takie postaci funkcji, aby miejsca
zerowe były znane) w zależności od liczby iteracji.
Na podstawie przeprowadzonych obserwacji, należy wyciągnąć wnioski dotyczące zakresów
przydatności poszczególnych zbadanych metod numerycznych.
Ćwiczenie 6: Znajdowanie miejsc zerowych równań nieliniowych
3
Wyszukiwarka
Podobne podstrony:
Numerki 5 sprawkonumerki sprawko5Sprawko mojeMoje sprawko nr 6sprawko 6 numerki labsprawko tc mojeMoje sprawkomoje sprawko 15 3kaskada sprawkogeodezja sprawko 3sprawko 48 (1)Phir Bhi Dil Hai Hindustani cd1 Moje Serce Bije Po IndyjskuSPALANIE SPRAWKO 7nLABORATORIUM CHEMIA I WYTRZYMALOSC MATERIALOW sprawko 1więcej podobnych podstron