Maths › Rootfinding ›

# Newton

Calculates the zeros of a function using Newton's method.

Controller: **CodeCogs**

**Contents**

## Interface

C++

## Newton

doublenewton( | double | (*f)(double)[function pointer] | |

double | (*df)(double)[function pointer] | ||

double | x` = 0` | ||

double | eps` = 1E-10` | ||

int | maxit` = 1000` | ) |

*f*starting with an initial guess

*x*and iterating the sequence above until either the accuracy

*eps*is achieved or the maximum number of iterations

*maxit*is exceeded. Also required is the derivative of the user-defined function

*df*.

## References:

- Jean-Pierre Moreau's Home Page, http://perso.wanadoo.fr/jean-pierre.moreau/
- F.R. Ruckdeschel, "BASIC Scientific Subroutines", Vol. II, BYTE/McGRAWW-HILL, 1981

### Example 1

#include <codecogs/maths/rootfinding/newton.h> #include <iostream> #include <iomanip> #include <cmath> double f(double x) { return sin(x); } double df(double x) { return cos(x); } int main() { double x = Maths::RootFinding::newton(f, df, 3); std::cout << "The calculated zero is X = " << std::setprecision(15) << x << std::endl; std::cout << "The associated ordinate value is Y = " << f(x) << std::endl; return 0; }

Output:The calculated zero is X = 3.14159265358979 The associated ordinate value is Y = 1.22460635382238e-016

### Parameters

f the user-defined function df the derivative of f x Default value = 0 eps Default value = 1E-10 maxit Default value = 1000

### Authors

*Lucian Bentea (August 2005)*

##### Source Code

Source code is available when you buy a Commercial licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.