public class AdaptiveIntegrator extends IterativeMethod
An implementation of adaptive quadrature.
For example, to evaluate definite integrals for sine, first a
Function
is defined:
Function sine = new Function() { public double evaluate(double x) { return Math.sin(x); }} };
Then, an adaptive integrator is created with the above function:
AdaptiveIntegrator integrator = new AdaptiveIntegrator(sine);
Lastly, evaluating definite integrals is accomplished using the
integrate(double, double)
method:
// integrate sine from 0 to Pi. double two = integrator.integrate(0.0, Math.PI); // integrate sine from Pi/2 to 2 Pi. double one = integrator.integrate(Math.PI / 2.0, Math.PI);
References:
IterativeMethod.IterativeState
Constructor and Description |
---|
AdaptiveIntegrator(Function f)
Create an integrator for the given function.
|
AdaptiveIntegrator(Function f,
int iterations,
double error)
Create an integrator for the given function.
|
Modifier and Type | Method and Description |
---|---|
Function |
getFunction()
Access the target function.
|
double |
integrate(double a,
double b)
Evaluate the definite integral from a to b.
|
void |
setFunction(Function f)
Modify the target function.
|
getMaximumIterations, getMaximumRelativeError, iterate, setMaximumIterations, setMaximumRelativeError
public AdaptiveIntegrator(Function f)
f
- the target function.public AdaptiveIntegrator(Function f, int iterations, double error)
f
- the target function.iterations
- maximum number of iterations.error
- maximum relative error.public Function getFunction()
public double integrate(double a, double b) throws NumericException
a
- the lower limit of integration.b
- the upper limit of integration.NumericException
- if the integral can not be evaluated.public void setFunction(Function f)
f
- the new target function.Jas4pp 1.5 © Java Analysis Studio for Particle Physics