public class NIntegrate extends AbstractFunctionEvaluator
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_MAX_ITERATIONS |
static int |
DEFAULT_MAX_POINTS |
static ISymbol |
LegendreGauss |
Constructor and Description |
---|
NIntegrate() |
Modifier and Type | Method and Description |
---|---|
IExpr |
evaluate(IAST ast,
EvalEngine engine)
Symbolic evaluation of a function.
|
static double |
integrate(java.lang.String method,
IAST list,
double min,
double max,
IExpr function,
int maxPoints,
int maxIterations)
Integrate a function numerically.
|
void |
setUp(ISymbol symbol)
Evaluate built-in rules and define Attributes for a function.
|
createRuleFromMethod, getNormalizedNegativeExpression, getNormalizedNegativeExpression, getPeriodicParts, getPureImaginaryPart, getRuleAST, initSerializedRules, isNegativeExpression
numericEval
public static final int DEFAULT_MAX_POINTS
public static final int DEFAULT_MAX_ITERATIONS
public static final ISymbol LegendreGauss
public IExpr evaluate(IAST ast, EvalEngine engine)
AbstractFunctionEvaluator
ast.get(0)
(or alternatively ast.head()
) contains the
head (i.e. the function symbol) of this abstract syntax tree (AST). ast.arg1()
to ast.get(n)
the ast
contains the first to n-th argument of the
function (alternatively you get the first to fifth argument with the methods arg1()
, arg2()
,...
arg5()
).Validate
class to check the number or types of arguments in the evaluate
method.null
value without throwing an exception!evaluate
in interface IFunctionEvaluator
evaluate
in class AbstractFunctionEvaluator
ast
- the abstract syntax tree (AST) which should be evaluatedengine
- the users current evaluation enginenull
, if evaluation isn't possibleValidate
,
IExpr.head()
,
IAST.arg1()
,
IAST.arg2()
,
IAST.arg3()
public static double integrate(java.lang.String method, IAST list, double min, double max, IExpr function, int maxPoints, int maxIterations) throws org.apache.commons.math4.exception.ConvergenceException
method
- the following methods are possible: LegendreGauss, Simpson, Romberg, Trapezoidlist
- a list of the form {x, lowerBound, upperBound}
, where lowerBound
and
upperBound
are numbers which could be converted to a Java double value.function
- the function which should be integrated.maxPoints
- maximum number of pointsmaxIterations
- maximum number of iterationsorg.apache.commons.math4.exception.ConvergenceException
public void setUp(ISymbol symbol)
AbstractFunctionEvaluator
setUp
in interface IEvaluator
setUp
in class AbstractFunctionEvaluator
symbol
- the symbol which should be set up