Metody dwupunktowe

bisekcji (połowienia)

siecznych

regula falsi

Metody jednopunktowe

stycznych (Newtona)

metoda iteracji prostych (punktu stałego)

Metoda stycznej (Newtona-Raphsona) uwzględnia kształt funkcji

Równanie stycznej w punkcie

Przybliżenie, w miejscu przecięcia stycznej z osią OX - metoda Newtona-Raphsona

Warunek stopu: lub

szybciej zbieżna niz bisekcja (kwadratowa)

nie zawsze zbieżna, zbieżna gdy ma taki sam znak co

wymagana analityczna wartość pochodnej , przybliżenie za pomocą metod różnicowych prowadzi do metody stycznych

Funkcja

Pochodna

Wzór iteracyjny

#include<stdio.h> #include<math.h> #define EPS 1e-6 float f(float x) { return x * (x * x + 1) - 1; } int main() { float x0, x1; int i, n=100; printf("Punkt startowy : "); scanf("%f", &x0); for (i = 0; i < n; i++) { x1 = x0 - f(x0) / (3*x0*x0 + 1); if (fabs(x1 - x0) < EPS) break; x0 = x1; } if (i == n) printf("Nie znaleziono rozwiazania\n"); else { printf("x = %f\n", x1); printf("iterations %d\n", i+1); } }

Równanie sprowadzamy do postaci

wówczas otrzymujemy zaleznośc rekurencyjną

metoda może nie być zbieżna, zależy to od:

punktu startowego

postaci funkcji

Funkcja

Wzór iteracyjny

#include<stdio.h> #include<math.h> #define EPS 1e-6 int main() { float x0, x1; int i, n=100; printf("Punkt startowy : "); scanf("%f", &x0); for (i = 0; i < n; i++) { x1 = -x0*x0*x0 + 1; // printf("%f\n", x1); if (fabs(x1 - x0) < EPS) break; x0 = x1; } if (i == n) printf("Nie znaleziono rozwiazania\n"); else { printf("x = %f\n", x1); printf("iterations %d\n", i+1); } }

rozbieżna

Ćw: porównaj zbieżność metod dla punktu startowego

Zbieżność gdy w przedziale izolacji

Napisz program wyznaczający wartość dla korzystając z metody Newtona (stycznych) oraz metody punktu stałego (iteracji prostej). Zadanie sprowadza się do znalezienia pierwiastków równania . Wyprowadź wzór iteracyjny dla obu metod oraz zaimplementuj program wg. poniższej specyfikacji. Przyjmij dokładność obliczeń pierwiastka .

Dane wejściowe:

wartość

początkowe przybliżenie pierwiastka

Dane wyjściowe (dla każdej z metod osobno):

przybliżona wartość lub informacja o braku zbieżności

ilość wykonanych iteracji

wartość wyznaczoną dla znalezionego pierwiastka

błąd względny wyniku, gdzie wartość dokładna to wynik działania funkcji sqrt z biblioteki math.h

Ćw. 1

Napisz program wyznaczający wartość dla korzystając z metody Newtona (stycznych) oraz z metody iteracji prostych. Zadanie sprowadza się do znalezienia pierwiastków równania .

Ćw. 2

Napisz program wyznaczający za pomocą metody Newtona oraz metody iteracji prostych pierwiastki równania