piątek, 13 listopada 2015

Metoda Newtona

Metoda Newtona (zwana również metodą Newtona-Raphsona lub metodą stycznych) – iteracyjny algorytm wyznaczania przybliżonej wartości pierwiastka funkcji.


Metoda Newtona-4 kroki.png
"Metoda Newtona-4 kroki" autorstwa Wojciech mula z projektu polski Wikipedia. Licencja CC BY-SA 2.5 na podstawie Wikimedia Commons.

Jeśli f ∈ C^2 [a, b] tworzę ciąg typu

x_{k+1} = x_k - \frac{f(x_k)}{f^\prime(x_k)}


Procedura trwa do momentu aż dla zadanej dokładności δ

Kod programu w C++:

#include<iostream>
#include<cmath>
using namespace std;
double fun(double x)
{
return exp(x)*log(x)-x*x;
}
double fun1(double x)
{
return exp(x)*log(x)+exp(x)*(1./x)-2.*x;
}
int main()
{
double a=1.0;
double b=2.0;
double ab=b-a;
double delta=0.001;
double x0=(a+b)/2.;
double x1;
while( fabs(ab) > delta)
{
x1=x0-fun(x0)/fun1(x0);
ab=x1-x0;
x0=x1;
cout<<x1<<endl;
}
return 0;
}

Otrzymujemy w kolejnych krokach miejsc zerowe:1.7398; 1.69657; 1.6946; 1.6946




Brak komentarzy:

Prześlij komentarz