Package parser
Class Function
java.lang.Object
parser.Function
- All Implemented Interfaces:
Savable
,Serializable
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
private Variable
The dependent variableThe independent variables.static final int
private MathExpression
If the object is an algebraic expression, its details are stored here.private Matrix
If the object is aMatrix
its data is stored here.static final int
private int
The type of the function -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
assignObject
(String input) double
calc
(double... x) double
calcDet()
boolean
eval()
double[][]
String[][]
getIndependentVariable
(String name) getName()
static String[]
getParameters
(String paramList) int
getType()
boolean
boolean
static boolean
isAnonymous
(String name) static boolean
private static boolean
isDimensionsList
(String list) static boolean
isFunctionFullName
(String str) boolean
private static boolean
isParameterList
(String list) static Matrix
listToMatrix
(List<String> data) static void
static String
matrixToCommaList
(Matrix mat) matrixToList
(Matrix mat) The input list is such that: The first 2 entries specify the number of rows and columns.int
static Function
private void
parseInput
(String input) static void
print2DArray
(Object[][] obj) Prints the content of a 2D arrayvoid
setDependentVariable
(Variable dependentVariable) void
setIndependentVariables
(ArrayList<Variable> independentVariables) void
setMathExpression
(MathExpression mathExpression) void
setType
(int type) static String
storeAnonymousFunction
(String expression) static String
storeAnonymousMatrixFunction
(Matrix matrix) toString()
-
Field Details
-
dependentVariable
The dependent variable -
independentVariables
The independent variables. -
type
private int typeThe type of the function -
ALGEBRAIC
public static final int ALGEBRAIC- See Also:
-
MATRIX
public static final int MATRIX- See Also:
-
LIST
public static final int LIST- See Also:
-
mathExpression
If the object is an algebraic expression, its details are stored here. The math expression on the RHS. -
matrix
If the object is aMatrix
its data is stored here.
-
-
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
-
parseInput
- Parameters:
input
- The user input into the system, usually of the form: F=@(x,y,z,w)mathexpr;..where mathexpr is an algebraic expression in terms of x,y,z,...
-
setDependentVariable
-
getDependentVariable
-
setMathExpression
-
getMathExpression
-
setIndependentVariables
-
getIndependentVariables
-
numberOfParameters
public int numberOfParameters()- Returns:
- the number of independent variables possessed by this Function object.
-
isDimensionsList
- Parameters:
list
- A string containing info. about the arguments to be passed to the Function. The format is (num1,num2,num3,....) The information should be numbers only- Returns:
- true if its format is valid.
-
isParameterList
- Parameters:
list
- A string containing info. about the arguments to be passed to the Function. The format is (var1,var2,var3,....)- Returns:
- true if its format is valid.
-
getMatrix
-
getIndependentVariable
- Parameters:
name
- The name of the variable.- Returns:
- the Variable if it exists in the parameter list of this Function. Returns null if no Variable having that name is to be found in the parameter list of this Function.
-
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
- Parameters:
paramList
- A string containing info. about the arguments to be passed to the Function. The format is (var1,var2,var3,....)- Returns:
- an array containing the parameters, if its format is valid.
-
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
- Parameters:
matrix
- TheMatrix
object to be wrapped in a function- Returns:
- the name assigned to the anonymous function created.
-
storeAnonymousFunction
- Parameters:
expression
- The expression used to create the function...e.g @(x)sin(x-1)^cos(x)- Returns:
- the name assigned to the anonymous function created.
-
evalArgs
- Parameters:
args
-- Returns:
- the value of a function when valid arguments are passed into its parentheses. e.g if the fullname of the Function is f(x,y,c), this method could be passed..f(3,-4,9)
-
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
MATRIX
Otherwise it returnsDouble.NaN
-
calcInverse
- Returns:
- the inverse of the matrix-function if it is of type
MATRIX
Otherwise it returns null
-
triangularMatrix
- Returns:
- the triangular Matrix of the function if it is of type
MATRIX
Otherwise it returns null
-
reduceToEchelon
- Returns:
- the row-reduced echelon matrix of the function if it is of type
MATRIX
Otherwise it returns null
-
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
- Parameters:
mat
- TheMatrix
object- Returns:
- a comma separated string containing the data of the Matrix. This string does not contain the dimensions of the Matrix, only the data.
-
parse
-
main
-
serialize
-