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
Functionis 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 doublefindRoot(double x)Find a root of the target function that lies close to x.FunctiongetDerivative()Access the derivative of the target function.FunctiongetFunction()Access the target function.voidsetDerivative(Function f)Modify the derivative of the target function.voidsetFunction(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 NumericExceptionFind 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