Package ptolemy.data.expr
Class MatlabUtilities
- java.lang.Object
-
- ptolemy.data.expr.MatlabUtilities
-
public class MatlabUtilities extends java.lang.Object
This class provides access to the Ptolemy Matlab interface in ptolemy.matlab by using reflection.- Since:
- Ptolemy II 2.1
- Version:
- $Id$
- Author:
- Christopher Hylands, Steve Neuendorffer, Zoltan Kemenczy, Research in Motion Ltd.
- See Also:
ParseTreeEvaluator
- Pt.AcceptedRating:
- Yellow (neuendor)
- Pt.ProposedRating:
- Green (neuendor)
-
-
Constructor Summary
Constructors Constructor Description MatlabUtilities()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Token
evaluate(java.lang.String expression, java.util.Set variableNames, ParserScope scope)
Evaluate a Matlab expression within a scope.
-
-
-
Method Detail
-
evaluate
public static Token evaluate(java.lang.String expression, java.util.Set variableNames, ParserScope scope) throws IllegalActionException
Evaluate a Matlab expression within a scope. The expression argument is of the form matlab("expression", arg1, arg2, ...), where arg1, arg2, ... is a list of Variables appearing in "expression". Note that this form of invoking matlab is limited to returning only the first return value of a matlab function. If you need multiple return values, use the matlab actor.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 useExpression
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
).- Parameters:
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.- Returns:
- The results of the evaluation
- Throws:
IllegalActionException
- If there is a problem initializing the Matlab interface, invoking the Matlab engine or accessing a a Token.
-
-