Równania nieliniowe LABORKA Piotr Ciskowski
przykład 1. funkcja fplot fplot ( f, granice ) fplot ( f, granice, n, linia, tol ) [ x, y ] = fplot ( )» fplot ( sin(x*x)/x, [ 0 4*pi ] )» fplot ( sin(x*x)/x, [ 0 20*pi ] )
przykład 1. funkcja fplot narysuj wykres funkcji humps przy pomocy MATLABowej funkcji fplot przez podanie jej nazwy» fplot ( humps, [ -5 5 ] ) narysuj wykres funkcji humps przy pomocy MATLABowej funkcji fplot przez podanie wskaźnika do funkcji» close all» fplot ( @humps, [ -5 5 ] )» grid on przytnij ją zdeczko z góry i z dołu» fplot ( @humps, [ -5 5-10 25] )
przykład 1. funkcja fplot funkcje anonimowe zdefiniuj funkcję anonimową» sinusik = @(x)2*sin(x+3) narysuj jej wykres» fplot ( sinusik, [ -5 5 ] )» fplot ( @(x)2*sin(x+3), [ - 5 5 ] ) zdefiniuj funkcję anonimową o dwóch parametrach» fh = @(x,y)(y*sin(x)+x*sin(y)) oblicz jej wartość» fh ( pi, 2*pi )
przykład 1. funkcja fplot funkcje anonimowe zdefiniuj funkcję anonimową o dwóch wyjściach» fh = @(x)[ 2*sin(x+3), humps(x) ] ; oblicz jej wartość w jednym punkcie» fh ( 1 ) oblicz jej wartość w trzech punktach» fh ( [ 1 ; 2 ; 3 ] ) narysuj dwie funkcje na jednym wykresie» fplot ( @(x)[ 2*sin(x+3), humps(x) ], [-5 5] );» fplot ( fh, [-5 5] )
przykład 2. metoda iteracyjna równanie Keplera: ( ) ε ( ) f x = x sin x M = 0 przyjmij: M = 1 ε = ¼ rozwiąż równanie metodą iteracyjną zacznij od x 0 = 0.5 zilustruj tę metodę wykresem» M = 1 ;» e = 1/4 ;» x0 = 0.5 ;» x1 =...» x2 =......» fplot ( @(x)...» plot ( x0,x0, go ) ( ) x ε sin x M = 0» plot ( x0,x1, go )... x = ε x + M sin ( )
przykład 3. funkcja fzero x = fzero ( fun, x0 ) [ x, fval, exitflag ] = fzero ( fun, x0, opcje ) oblicz wartość liczby π rozwiązując równanie: (zaczynając od 3) rozwiązując równanie: ( ) sin x = 0» liczbapi = fzero ( @sin, 3 )» liczbapi = fzero ( @sin, 1 ) a w którym miejscu (między 1 i 2) cos przechodzi przez 0?» kos = fzero ( @cos, [ 1 2 ] )
przykład 3. funkcja fzero rozwiąż równanie: x 3 2x 5 = 0» f = @(x)x.^3-2*x-5» z = fzero ( f, 2 )» z = fzero ( @(x)x.^3-2*x-5, 2 )» z = fzero ( x.^3-2*x-5, 2 )» fplot ( f, [ 0 5 ] )» fplot ( @(x)x.^3-2*x-5, [ 0 5 ] )» fplot ( x.^3-2*x-5, [ 0 5 ] )
przykład 3. funkcja fzero niedoskonałości:» fzero ( @tan, 1 )» fplot ( @tan, [ -2 2 ] )» fzero ( x.^2, 0.5 )
przykład 4. funkcja fzero rozwiąż równanie: 3 2 x x x + 3 3 = 0 znajdź miejsca zerowe wielomianu zdefiniuj funkcje anonimowe: powyższą oraz zerową narysuj wykres obu funkcji wybierz trzy przybliżone punkty początkowe znajdź trzy pierwiastki równania» zera1 = roots (...» rownanie = @...» zero = @...» fplot (...» zera2(1) = fzero (...» zera2(2) = fzero (...» zera2(3) = fzero (...» spr1 = polyval (...» spr2 = rownanie (...
przykład 5. funkcja fzero rozwiąż trudne numerycznie równanie: ( )( ) 6 x + x x = 2 2 1 3 10 6 11 0 zdefiniuj funkcje anonimowe: powyższą oraz zerową narysuj wykres obu funkcji w zakresie ciut większym od [ -2, +1.5 ] znajdź trzy pierwiastki, startując od: 1.02, 2, 1 zaznacz je na wykresie przybliż dwie wątpliwe części wykresu» rownanie = @(x)...» zero = @(x)0» fplot (...» fplot (...» a1 = fzero (...» a2 = fzero (...» a3 = fzero (...» plot...
zadanie 1. metoda bisekcji (na zajęciach) Zaimplementuj metodę bisekcji w postaci funkcji MATLABowej, przyjmującej jako parametry: -adres do funkcji nazwę funkcji (zapisanej w m-pliku) funkcję zmiennej x zapisaną jako tekst (wyrażenie matlabowe, zależne od zmiennej x) - początkowe granice przedziału - wymaganą dokładność - maksymalną liczbę iteracji a zwracającej granice przedziału, w którym znajduje się pierwiastek lub lub oraz Za pomocą tej funkcji oblicz następujące pierwiastki: 3 4 16 3 15 podpowiedź: trzeba rozwiązać równanie nieliniowe: n x c = 0 Sprawdź szybkość zbieżności oszacowania w zależności od przyjętego zakresu początkowego Przy jakiej liczbie iteracji otrzymujemy rozsądną dokładność?
zadanie 2. inna metoda (na zajęciach / do domu) Zaimplementuj jakąś inną metodę Za pomocą tej funkcji oblicz następujące pierwiastki: 3 4 16 3 15 podpowiedź: trzeba rozwiązać równanie nieliniowe: n x c = 0 Sprawdź szybkość zbieżności oszacowania w zależności od przyjętego zakresu początkowego Przy jakiej liczbie iteracji otrzymujemy rozsądną dokładność?
zadanie 3. porównanie metod (do domu) Zaimplementuj metody regula falsi oraz siecznych Rozwiąż przy ich pomocy równanie Porównaj kolejne kroki obu metod ( ) 3 2 f x x x x = + 3 3 Oblicz metodą siecznych przybliżony pierwiastek równania położony w pobliżu punktu x 0 = -0.5 x Znajdź miejsce zerowe funkcji y = 3x + sin x e w przedziale < 0 ; 1 > za pomocą metody siecznych e x = 2 3 x 0
zadanie 4. metoda Newtona (do domu) Zaimplementuj metodę stycznych Newtona Rozwiąż przy jej pomocy równania: 4 3 2 x x x x 4 + 5 4 + 4 = 0 e 3x = 0 x 2
zadanie 5. porównanie metod (do domu) Zaimplementuj kilka metod Znajdź przy ich pomocy dodatni pierwiastek równania zaczynając od przedziału < 1 ; 2 > 2 x = 2 0 Ile iteracji należy wykonać w każdej z metod, aby obliczyć ten pierwiastek z dokładnością do czterech miejsc dziesiętnych? Jaki jest błąd po tej liczbie iteracji? Pokaż, że równaniesin x + x 1 = 0 ma pierwiastek w przedziale < 0 ; 1 > Ile trzeba wykonać iteracji, aby różnymi metodami otrzymać przybliżoną wartość pierwiastka z błędem nie większym niż 0.5*10-4? Znajdź wartość zmiennej x, dla której przecinają się wykresy funkcji y = 3x i Wymagana dokładność obliczeń to 10-4 y = e x
zadanie 6. porównanie metod (do domu) Zaimplementuj kilka metod 2 Znajdź dodatni pierwiastek równania x x 1 = 0 z dokładnością do 10-2 Znajdź najmniejszy dodatni pierwiastek równania: tgx x 1 = 0 3 2 x x 2x + 1 = 0 x 2e sin x = 0 x Porównaj zbieżność metody bisekcji i metody stycznych dla równania e 1 = 0 Narysuj wykres błędu kolejnych przybliżeń obu metod w skali logarytmicznej w zależności od liczby iteracji
zadanie 7. porównanie metod (do domu) Zaimplementuj kilka metod Porównaj ich skuteczność działania dla następujących przypadków: 1. funkcji wielomianowej posiadającej zarówno wymierne, jak i niewymierne miejsca zerowe, np.: 2. funkcji nieliniowej posiadającej punkt nieciągłości, np.: y x = log x 1 x (w implementacji należy uwzględnić przypadek nieciągłości, aby nie doprowadził on do rozbieżności procedury) 3. funkcji trygonometrycznej, np.: y x = sin x cos x Porównaj zbieżność metod ( ) = ( + 6)( + π )( 2 )( 5)( 50 )( 4π ) y x x x x x x x ( ) ( ) 2 1 2 ( ) ( ) ( )