MN02LAB

Z Studia Informatyczne
Wersja z dnia 13:16, 29 sie 2006 autorstwa Przykry (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Ćwiczenia: równania nieliniowe skalarne

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

Wykaż, że jeśli f jest rosnąca i wypukła na [a,b] oraz dla x*[a,b]f(x*)=0, to metoda Newtona startująca z x0>x* jest zbieżna.

Rozwiązanie

Ćwiczenie: Fraktale

Ciekawy zbiór o charakterze fraktalnym powstaje w wyniku zastosowania metody Newtona do rozwiązania równania zn1=0 w dziedzinie zespolonej. Punkt z0=(x0,y0) należy do basenu zbiezności metody, jeśli metoda Newtona jest zeń zbieżna do (jakiegokolwiek) pierwiastka w/w równania. Kolor odpowiadający z0 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 jak poniżej.

Basen zbiezności metody Newtona w okolicy początku układu współrzędnych, dla równania z51=0
Wskazówka
Wskazówka

Ćwiczenie: Pierwiastkowanie

Niech a0. Aby wyznaczyć a, można skorzystać z metody Newtona dla równania x2=a. 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 a dla którego to nie będzie prawdą.

Wskazówka
Rozwiązanie

Ćwiczenie: Odwrotność bez dzielenia

Aby wyznaczyć 1/a dla a>0 bez dzielenia(!), można zastosować metodę Newtona do funkcji f(x)=1/xa. Pokaż, że na k-tym kroku iteracji,

|axk1|=|axk11|2.

Dla jakich x0 metoda będzie zbieżna do 1a, a dla jakich nie? Oceń, ile iteracji potrzeba do spełnienia warunku |xk1a||a|ϵ, gdy |x01a||a|γ<1,

Rozwiązanie

Ćwiczenie

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

  • f(x)=sin(x),
  • f(x)=sin2(x),
  • f(x)=(x1)5 (wzór A),
  • f(x)=(x1)*(x44x3+6x24x+1) (wzór B),
  • f(x)=(x2)13 (wzór C),
  • f(x)=x1326*x12+312*x112288*x10+...8192 (wzór D),

gdy tolerancję błędu zadasz na poziomie 1010.

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

Rozwiązanie

Ćwiczenie

Wskaż wszystkie wartości x0, dla jakich metoda Newtona będzie zbieżna do rozwiązania x* równania

arctan(x)=0.

Wyznacz wartość X0, z którego startując powinieneś dostać ciąg oscylujący X0,X0,. Sprawdź eksperymentalnie, czy tak jest rzeczywiście.

Wskazówka
Rozwiązanie