jhplot.math.num.root
Class FalsePositionRootFinder
- java.lang.Object
-
- jhplot.math.num.IterativeMethod
-
- jhplot.math.num.root.FalsePositionRootFinder
-
public class FalsePositionRootFinder extends IterativeMethod
The false position 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); }} };
Then, a false position root finder is created with the above function:
FalsePositionRootFinder finder = new FalsePositionRootFinder(sine);
Lastly, locating roots is accomplished using the
findRoot(double, double)
method:// find the root between 3 and 4. double pi = finder.findRoot(3.0, 4.0); // find the root between -1 and 1. double zero = finder.findRoot(-1.0, 1.0);
References:
- Eric W. Weisstein. "Method of False Position." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/MethodofFalsePosition.html
- Since:
- 1.1
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jhplot.math.num.IterativeMethod
IterativeMethod.IterativeState
-
-
Constructor Summary
Constructors Constructor and Description FalsePositionRootFinder(Function f)
Create a root finder for the given function.FalsePositionRootFinder(Function f, 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 min, double max)
Find a root of the target function that lies in the interval [ min, max].Function
getFunction()
Access 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
-
FalsePositionRootFinder
public FalsePositionRootFinder(Function f)
Create a root finder for the given function.- Parameters:
f
- the target function.
-
FalsePositionRootFinder
public FalsePositionRootFinder(Function f, int iterations, double error)
Create a root finder for the given function.- Parameters:
f
- the target function.iterations
- maximum number of iterations.error
- maximum relative error.
-
-
Method Detail
-
findRoot
public double findRoot(double min, double max) throws NumericException
Find a root of the target function that lies in the interval [ min, max].- Parameters:
min
- the lower bound of the search interval.max
- the upper bound of the search interval.- Returns:
- a root that lies between min and max, inclusive.
- Throws:
NumericException
- if a root could not be found.
-
getFunction
public Function getFunction()
Access the target function.- Returns:
- the target function.
-
setFunction
public void setFunction(Function f)
Modify the target function.- Parameters:
f
- the new target function.
-
-
DMelt 3.0 © DataMelt by jWork.ORG