Public Member Functions | Protected Attributes

BisectionExtremeFinder1D Class Reference

Inheritance diagram for BisectionExtremeFinder1D:
SequentialTask Task NamedObject CallBacker

List of all members.

Public Member Functions

 BisectionExtremeFinder1D (const FloatMathFunction &, bool max, int itermax, float tol, const Interval< float > &startinterval, const Interval< float > *limitinterval)
virtual ~BisectionExtremeFinder1D ()
void reStart (const Interval< float > &startinterval, const Interval< float > *limitinterval)
float extremePos () const
float extremeVal () const
int nrIter () const
int nextStep ()

Protected Attributes

Interval< float > * limits
int iter
const float tol
const bool max
const int itermax
Interval< float > current
float startfuncval
float stopfuncval
float centerfuncval
bool isok
const FloatMathFunctionfunc

Constructor & Destructor Documentation

BisectionExtremeFinder1D::BisectionExtremeFinder1D ( const FloatMathFunction ,
bool  max,
int  itermax,
float  tol,
const Interval< float > &  startinterval,
const Interval< float > *  limitinterval 
)
Parameters:
func The function, f(x) where the extreme value shoud be found
max Specifies wether a min or max value should be found
itermax Maximum number of iterations
tol Tolerance on the function variable (x)
startinterval The interval of x that the search will be inited by. Note that the search can go outside of this interval.
limitinterval Set to true if only solutions within the interval is permitted
virtual BisectionExtremeFinder1D::~BisectionExtremeFinder1D (  )  [virtual]

Member Function Documentation

float BisectionExtremeFinder1D::extremePos (  )  const
Returns:
The x value of the extreme value
float BisectionExtremeFinder1D::extremeVal (  )  const
Returns:
The extreme value
int BisectionExtremeFinder1D::nextStep (  )  [virtual]

Will move the current extremePos one step towards the solution.

Return values:
0 Finished
1 More to do
-1 Error (no extreme found or itermax reached The extreme value)

Implements SequentialTask.

int BisectionExtremeFinder1D::nrIter (  )  const
Returns:
The number of iterations
void BisectionExtremeFinder1D::reStart ( const Interval< float > &  startinterval,
const Interval< float > *  limitinterval 
)
Parameters:
startinterval The interval of x that the search will be inited by. Note that the search can go outside of this interval.
limitinterval Set to true if only solutions within the interval is permitted

Member Data Documentation

const int BisectionExtremeFinder1D::itermax [protected]
const bool BisectionExtremeFinder1D::max [protected]
const float BisectionExtremeFinder1D::tol [protected]