Class Function
java.lang.Object
com.github.gbenroscience.parser.Function
- All Implemented Interfaces:
Savable,Serializable
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanassignObject(String input) doublecalc(double... x) doublecalcDet()booleaneval()double[][]String[][]getIndependentVariable(String name) getName()static String[]getParameters(String paramList) intgetType()booleanbooleanstatic booleanstatic booleanisAnonymous(String name) static booleanisFunctionFullName(String str) booleanstatic MatrixlistToMatrix(List<String> data) static voidstatic StringmatrixToCommaList(Matrix mat) matrixToList(Matrix mat) The input list is such that: The first 2 entries specify the number of rows and columns.intstatic Functionstatic voidprint2DArray(Object[][] obj) Prints the content of a 2D arrayvoidsetDependentVariable(Variable dependentVariable) voidsetIndependentVariables(ArrayList<Variable> independentVariables) voidsetMathExpression(MathExpression mathExpression) voidsetType(int type) static StringstoreAnonymousFunction(String expression) static StringstoreAnonymousMatrixFunction(Matrix matrix) toString()
-
Field Details
-
ALGEBRAIC
public static final int ALGEBRAIC- See Also:
-
MATRIX
public static final int MATRIX- See Also:
-
LIST
public static final int LIST- See Also:
-
-
Constructor Details
-
Function
- Parameters:
matrix- A Matrix to be used to initialize the function..
-
Function
- Parameters:
input- The user input into the system, usually of the form: F(x,y,z,w,....)=mathexpr; or F= @(x,y,z,w,...)mathexpr ...where mathexpr is an algebraic expression in terms of x,y,z,w,...- Throws:
InputMismatchException
-
-
Method Details
-
setType
public void setType(int type) -
getType
public int getType() -
calc
public double calc(double... x) - Parameters:
x- A list of variable values to set for the function. The supplied value list is applied to the function's parameter list in the order they were supplied in the original question.- Returns:
- the value of the function with these variables set.
-
assignObject
-
setDependentVariable
-
getDependentVariable
-
setMathExpression
-
getMathExpression
-
setIndependentVariables
-
getIndependentVariables
-
numberOfParameters
public int numberOfParameters()- Returns:
- the number of independent variables possessed by this Function object.
-
getMatrix
-
getIndependentVariable
-
hasIndependentVariable
- Parameters:
var- The name of the Variable to check.- Returns:
- true if this object has an independent variable that goes by the given name.
-
getParameters
-
isParam
- Parameters:
name- The name of the Variable object to check, whether or not it is a parameter of this Function object.- Returns:
- true if a Variable of the specified name exists in the parameter list of this Function object.
-
storeAnonymousMatrixFunction
-
storeAnonymousFunction
-
evalArgs
-
evalRange
- Parameters:
rangeDescr- Describes the range between which this Function object should be plotted. e.g. x:-10:10:0.0001- Returns:
- an 2D array containing two 1d arrays. The first array contains the values that the Function object will have for all values specified for the range of the independent variable. The second array contains the values that the independent variable will assume in its given range. If the rangeDescr parameter is not valid.. it returns a2D array containing 2 null arrays.
-
evalRange
public double[][] evalRange(double xLower, double xUpper, double xStep, String variableName, int DRG) - Parameters:
xLower- The lower limit from which plotting begins.xUpper- The upper limit from which plotting begins.xStep- The plot step.variableName- The name of the independent(the horizontal axis variable..usually x)DRG- States whether the function should be evaluated in Degrees, Radians, and Grad.- Returns:
- an 2D array containing two 1d arrays. The first array contains the values that the Function object will have for all values specified for the range of the independent variable. The second array contains the values that the independent variable will assume in its given range. If the rangeDescr parameter is not valid.. it returns a2D array containing 2 null arrays.
-
print2DArray
Prints the content of a 2D array -
eval
- Returns:
- the value of the function based on assigned values of its variables and constants.
-
isFunctionFullName
- Parameters:
str- The input string to check if or not it is of the format of the full name of a Function. e.g. F(x),p(x,y) e.t.c.- Returns:
- true if the input string has the format of the full name of a Function. This method will be used to identify when the input into a calculator is to be treated as a Function problem...i.e. identify when the user is trying to create or modify a Function. F(x,y,x1,c,e3,u)
-
toString
-
isAnonymous
public boolean isAnonymous() -
isAnonymous
-
isAnonymous
-
equals
-
getFullName
- Returns:
- the dependent variable together with its independent variables within its circular parentheses. e.g if the Function is y=x^2, this method will return y(x)
-
getName
- Returns:
- the simple name of the function. e.g if the function is y=@(x)cos(x), then this method returns 'y'.
-
calcDet
public double calcDet()- Returns:
- the determinant of the function if it is of type
MATRIXOtherwise it returnsDouble.NaN
-
calcInverse
-
triangularMatrix
-
reduceToEchelon
-
expressionForm
- Returns:
- the sub-expression on the right hand side of the assignment '=' sign in the expression that created this Function object.
-
listToMatrix
- Parameters:
data- The input list The input list is such that: The first 2 entries specify the number of rows and columns. The remaining entries are the Matrix's entries.- Returns:
- a number list which represents the row-reduced echelon Matrix that the entries reduce to.
-
matrixToList
The input list is such that: The first 2 entries specify the number of rows and columns. The remaining entries are the Matrix's entries.- Returns:
- a list containing the data of the Matrix. This list does not contain the dimensions of the Matrix, only the data.
-
matrixToCommaList
-
parse
-
main
-
serialize
-