Package edu.hws.jcm.data
Class SimpleFunction
java.lang.Object
edu.hws.jcm.data.SimpleFunction
- All Implemented Interfaces:
Function
,Serializable
An object belonging to this class is a function of one or more variables.
It is defined by an expression, e, and a list of variables, which presumably
can occur in e. The value of the function at arguments x1,x2,... is obtained by
assigning the x's as the values of the variables and then evaluating
the expression e.
Note: When the function is evaluated, the values of the variables that act as its parameters are saved and the variables are set to the values of the actual parameters provided for the function. After the evaluation, the saved values are restored. Usually, this is OK, but if setting the value of the variable has a side effect (such as changing the position of a VariableSlider), it could be a problem. So, don't use the variables associated with VariableSliders or VariableInputs in SimpleFunctions.
Note: A SimpleFunction is not a MathObject and does not have a name. It cannot be added to a Parser. If you want to do somethign like that, use an ExpressionFunction (defined in package edu.hws.jcm.functions).
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionSimpleFunction
(Expression e, Variable v) Create the function of one variable such that the value of the function at x is obtained by temporarily assigning x as the value of the variable v and then evaluating e.SimpleFunction
(Expression e, Variable[] v) Create a function. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Return true if the definition of this function depends in some way on the variable x.derivative
(int wrt) Return the derivative of the function with repect to argument number wrt, where arguments are numbered starting from 1.Return the derivative of the function with respect to the variable x.int
getArity()
Return the number of arguments of this function.double
getVal
(double[] arguments) Find the value of the function at the argument values argument[0], argument[1]....double
getValueWithCases
(double[] arguments, Cases cases) Find the value of the function at the argument values argument[0], argument[1]....
-
Constructor Details
-
SimpleFunction
Create the function of one variable such that the value of the function at x is obtained by temporarily assigning x as the value of the variable v and then evaluating e. e and v should be non-null (or errors will result when the function is used. Note that evaluating the function will temporarily change the value of the variable. -
SimpleFunction
Create a function. The arity of the function is the length of the array v. The value of the function at a given list of arguments is obtained by temporarily assigning the arguement values to the variables, and then returning the value of the expression. e and v should be non-null. Note that evaluating the function will temporarily change the values of the variables.
-
-
Method Details
-
getArity
public int getArity()Return the number of arguments of this function. -
getVal
public double getVal(double[] arguments) Find the value of the function at the argument values argument[0], argument[1].... (If not enough arguments are supplied, an ArrayIndexOutOfBoundsException will be thrown. Extra arguments are ignored.) -
getValueWithCases
Find the value of the function at the argument values argument[0], argument[1].... Information about "cases" is stored in the Cases parameter, if it is non-null. See the Cases class for more information.- Specified by:
getValueWithCases
in interfaceFunction
-
derivative
Return the derivative of the function with repect to argument number wrt, where arguments are numbered starting from 1.- Specified by:
derivative
in interfaceFunction
-
derivative
Return the derivative of the function with respect to the variable x. (Note that the derivative w.r.t one of the variables that are being used as the parameter of this function is ZERO!) To get the derivative with respect to the i-th parameter variable, call derivative(i).- Specified by:
derivative
in interfaceFunction
-
dependsOn
Return true if the definition of this function depends in some way on the variable x. (Note that the function does NOT depend on the variables that are being used as its parameters!)
-