NewtonRootFinder
jhplot.math.num.root

Class NewtonRootFinder



  • public class NewtonRootFinderextends IterativeMethod

    Newton's method (1) for finding roots of functions.

    For example, to find roots for sine, first a Function is defined:

     Function sine = new Function() {    public double evaluate(double x) {        return Math.sin(x);    }} }; 
    along with its derivative:
     Function cos = new Function() {    public double evaluate(double x) {        return Math.cos(x);    }} }; 

    Then, a Newton's method root finder is created with the above function:

     NewtonRootFinder finder = new NewtonRootFinder(sine, cos); 

    Lastly, locating roots is accomplished using the findRoot(double) method:

     // find the root close to 3. double pi = finder.findRoot(3.0);  // find the root between close to 1. double zero = finder.findRoot(1.0); 

    References:

    1. Eric W. Weisstein. "Newton's Method." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/NewtonsMethod.html

    • Constructor Detail

      • NewtonRootFinder

        public NewtonRootFinder(Function f,                Function d)
        Create a root finder for the given function.
        Parameters:
        f - the target function.
        d - the first derivative of f.
      • NewtonRootFinder

        public NewtonRootFinder(Function f,                Function d,                int iterations,                double error)
        Create a root finder for the given function.
        Parameters:
        f - the target function.
        d - the first derivative of f.
        iterations - maximum number of iterations.
        error - maximum relative error.
    • Method Detail

      • findRoot

        public double findRoot(double x)                throws NumericException
        Find a root of the target function that lies close to x.
        Parameters:
        x - the initial root approximation.
        Returns:
        a root that lies close to x.
        Throws:
        NumericException - if a root could not be found.
      • getDerivative

        public Function getDerivative()
        Access the derivative of the target function.
        Returns:
        the target function derivative.
      • getFunction

        public Function getFunction()
        Access the target function.
        Returns:
        the target function.
      • setDerivative

        public void setDerivative(Function f)
        Modify the derivative of the target function.
        Parameters:
        f - the new target function derivative.
      • setFunction

        public void setFunction(Function f)
        Modify the target function.
        Parameters:
        f - the new target function.

SCaVis 2.0 © jWork.ORG