Package edu.hws.jcm.data
Class SimpleFunction
- java.lang.Object
-
- edu.hws.jcm.data.SimpleFunction
-
- All Implemented Interfaces:
Function
,java.io.Serializable
public class SimpleFunction extends java.lang.Object implements Function
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:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SimpleFunction(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
dependsOn(Variable x)
Return true if the definition of this function depends in some way on the variable x.Function
derivative(int wrt)
Return the derivative of the function with repect to argument number wrt, where arguments are numbered starting from 1.Function
derivative(Variable x)
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 Detail
-
SimpleFunction
public SimpleFunction(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. 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
public SimpleFunction(Expression e, Variable[] v)
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 Detail
-
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
public double getValueWithCases(double[] arguments, Cases cases)
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
public Function derivative(int wrt)
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
public Function derivative(Variable x)
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
-
-