MN02LAB

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania


Równania nieliniowe skalarne

<<< Powrót do strony głównej przedmiotu Metody numeryczne

Oglądaj wskazówki i rozwiązania __SHOWALL__
Ukryj wskazówki i rozwiązania __HIDEALL__

Ćwiczenie: Metoda Newtona może być zbieżna globalnie

Wykaż, że jeśli jest rosnąca i wypukła na oraz dla , to metoda Newtona startująca z jest zbieżna.

Rozwiązanie

Ćwiczenie: Fraktale

Ciekawy zbiór o charakterze fraktalnym powstaje w wyniku zastosowania metody Newtona do rozwiązania równania w dziedzinie zespolonej. Punkt należy do basenu zbieżności metody, jeśli startująca z niego metoda Newtona jest zbieżna do (jakiegokolwiek) pierwiastka w/w równania. Kolor odpowiadający jest określany na podstawie liczby iteracji potrzebnych metodzie do zbieżności.

Zupełnie miłym (i estetycznie wartościowym) doświadczeniem jest napisanie programu w Octave, który wyświetla baseny zbieżności metody Newtona, takie jak na rysunku poniżej.

Basen zbieżności metody Newtona w okolicy początku układu współrzędnych, dla równania
Wskazówka
Wskazówka

Ćwiczenie: Pierwiastkowanie

Niech . Aby wyznaczyć , można skorzystać z metody Newtona dla równania . Zaprogramuj tę metodę i sprawdź, jak wiele dokładnych cyfr wyniku dostajesz w kolejnych krokach. Czy to możliwe, by liczba dokładnych cyfr znaczących z grubsza podwajała się na każdej iteracji? Wskaż takie , dla którego to nie będzie prawdą.

Wskazówka
Rozwiązanie

Ćwiczenie: Odwrotność bez dzielenia

Aby wyznaczyć dla bez dzielenia(!), można zastosować metodę Newtona do funkcji . Pokaż, że na -tym kroku iteracji,

Dla jakich metoda będzie zbieżna do , a dla jakich nie? Oceń, ile iteracji potrzeba do spełnienia warunku , gdy ,

Rozwiązanie

Ćwiczenie

Zaimplementuj metodę bisekcji. Sprawdź, jak będzie działać m.in. dla funkcji

  • ,
  • ,
  • (wzór A),
  • (wzór B),
  • Parser nie mógł rozpoznać (SVG (MathML może zostać włączone przez wtyczkę w przeglądarce): Nieprawidłowa odpowiedź („Math extension cannot connect to Restbase.”) z serwera „https://wazniak.mimuw.edu.pl/api/rest_v1/”:): {\displaystyle \displaystyle f(x) = (x-2)^{13}} (wzór C),
  • Parser nie mógł rozpoznać (SVG (MathML może zostać włączone przez wtyczkę w przeglądarce): Nieprawidłowa odpowiedź („Math extension cannot connect to Restbase.”) z serwera „https://wazniak.mimuw.edu.pl/api/rest_v1/”:): {\displaystyle \displaystyle f(x) = x^{13} - 26x^{12} + 312x^{11} - 2288x^{10} + ... - 8192} (wzór D),

gdy tolerancję błędu zadasz na poziomie Parser nie mógł rozpoznać (SVG (MathML może zostać włączone przez wtyczkę w przeglądarce): Nieprawidłowa odpowiedź („Math extension cannot connect to Restbase.”) z serwera „https://wazniak.mimuw.edu.pl/api/rest_v1/”:): {\displaystyle \displaystyle 10^{-10}} .

Metoda bisekcji ma kłopoty, gdy funkcja zadana jest wzorem D.
Residuum też jest duże, gdy Parser nie mógł rozpoznać (SVG (MathML może zostać włączone przez wtyczkę w przeglądarce): Nieprawidłowa odpowiedź („Math extension cannot connect to Restbase.”) z serwera „https://wazniak.mimuw.edu.pl/api/rest_v1/”:): {\displaystyle \displaystyle f} zadana jest wzorem D.

Jak wyjaśnić te wyniki? Czy możesz już być pewien, że masz dobrą implementację?

Rozwiązanie

Ćwiczenie

Wskaż wszystkie wartości Parser nie mógł rozpoznać (SVG (MathML może zostać włączone przez wtyczkę w przeglądarce): Nieprawidłowa odpowiedź („Math extension cannot connect to Restbase.”) z serwera „https://wazniak.mimuw.edu.pl/api/rest_v1/”:): {\displaystyle \displaystyle x_0} , dla jakich metoda Newtona będzie zbieżna do rozwiązania Parser nie mógł rozpoznać (SVG (MathML może zostać włączone przez wtyczkę w przeglądarce): Nieprawidłowa odpowiedź („Math extension cannot connect to Restbase.”) z serwera „https://wazniak.mimuw.edu.pl/api/rest_v1/”:): {\displaystyle \displaystyle x^*} równania

Parser nie mógł rozpoznać (SVG (MathML może zostać włączone przez wtyczkę w przeglądarce): Nieprawidłowa odpowiedź („Math extension cannot connect to Restbase.”) z serwera „https://wazniak.mimuw.edu.pl/api/rest_v1/”:): {\displaystyle \displaystyle \arctan(x) = 0. }

Wyznacz wartość Parser nie mógł rozpoznać (SVG (MathML może zostać włączone przez wtyczkę w przeglądarce): Nieprawidłowa odpowiedź („Math extension cannot connect to Restbase.”) z serwera „https://wazniak.mimuw.edu.pl/api/rest_v1/”:): {\displaystyle \displaystyle X_0} , z którego startując powinieneś dostać ciąg oscylujący . Sprawdź eksperymentalnie, czy tak jest rzeczywiście.

Wskazówka
Rozwiązanie