Call MATLAB functions and evaluate MATLAB statements from Java programs synchronously or asynchronously. Java programs can pass data to and get data from the MATLAB base workspace. The engine supports Java applications built with JDK™ 7 or later versions.
To call Java functions from MATLAB, see Call Java Library Functions.
|Java class to pass complex data to and from MATLAB|
|Java class to pass MATLAB struct to and from MATLAB|
|Java class to represent MATLAB cell array of char vectors|
|Java class to represent MATLAB handle objects|
This API enables Java programs to use MATLAB as a computational engine.
Set environment variables, Java classpath, and compile and run your Java code.
These examples show how to use the MATLAB Engine API for Java.
Here is a summary of the classes and methods available to use the MATLAB Engine API for Java.
The MATLAB engine API provides mappings to pass Java data types to MATLAB and pass MATLAB data types to Java, including Java classes to accommodate MATLAB handle objects, cellstrs, structures, and complex arrays.
Start the Java engine session synchronously or asynchronously and you can pass startup options to MATLAB.
Connect the Java engine to a running MATLAB session that has been started as or converted to a shared session.
Pass Java variables to MATLAB function calls and return values to Java.
Evaluate MATLAB expressions from Java and write variables into the MATLAB base workspace.
Pass variables from Java to MATLAB as function arguments or by placing those variables in the MATLAB base workspace.
Get variables from the MATLAB workspace and map them to the appropriate Java type.
Redirect standard output from the MATLAB command window to Java.
Define complex numbers in Java using the
Define MATLAB structure data types in Java using
Define a MATLAB cell array of character vectors
using the Java
Return MATLAB handle objects to Java using
You can run Simulink® simulations and return results to Java.
The MATLAB Engine API for Java defines specific exception classes for MATLAB.
MATLAB and Java display multidimensional arrays differently, but indexed references to array elements produce the same results.
If you are calling a MATLAB function with no
or more than one output argument, you must provide that number in
calls to the engine
In certain cases, you must convert to specific MATLAB types to support the requirements of the MATLAB function you are calling.