public class MatlabUtilities
extends java.lang.Object
ParseTreeEvaluator
Constructor and Description |
---|
MatlabUtilities() |
Modifier and Type | Method and Description |
---|---|
static Token |
evaluate(java.lang.String expression,
java.util.Set variableNames,
ParserScope scope)
Evaluate a Matlab expression within a scope.
|
public static Token evaluate(java.lang.String expression, java.util.Set variableNames, ParserScope scope) throws IllegalActionException
Note that having an instance of Expression
in the model will keep the matlab
engine open from model preinitialize() to wrapup() and hence
opening/closing of additional Engine instances done by this
matlab expression evaluator becomes fast. Most users should
prefer to use Expression
and resort to
this mechanism of invoking matlab only where necessary, e.g. in
FSM transition action expressions (which was the reason for
introducing this form of matlab engine access).
If a "packageDirectories" Parameter is in the scope of this
expression, its value is added to the matlab path while the
expression is being executed (like Expression
).
expression
- The Matlab expression to be evaluatedvariableNames
- The Matlab variables required for evaluating
the expression. Each element of the Set names a Token that
is found in the scope.scope
- The scope to evaluate the expression within.IllegalActionException
- If there is a problem initializing
the Matlab interface, invoking the Matlab engine or accessing a
a Token.