jhplot.math.num.root
Class NewtonRootFinder
- java.lang.Object
-
- jhplot.math.num.IterativeMethod
-
- jhplot.math.num.root.NewtonRootFinder
-
public class NewtonRootFinder extends 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:
- Eric W. Weisstein. "Newton's Method." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/NewtonsMethod.html
- Since:
- 1.1
-
-
Constructor Summary
Constructors Constructor and Description NewtonRootFinder(Function f, Function d)
Create a root finder for the given function.NewtonRootFinder(Function f, Function d, int iterations, double error)
Create a root finder for the given function.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description double
findRoot(double x)
Find a root of the target function that lies close to x.Function
getDerivative()
Access the derivative of the target function.Function
getFunction()
Access the target function.void
setDerivative(Function f)
Modify the derivative of the target function.void
setFunction(Function f)
Modify the target function.-
Methods inherited from class jhplot.math.num.IterativeMethod
getMaximumIterations, getMaximumRelativeError, iterate, setMaximumIterations, setMaximumRelativeError
-
-
-
-
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.
-
-
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.
-
-
DMelt 3.0 © DataMelt by jWork.ORG