Можно запустить MATLAB® сеанс из вашего Java® программируйте синхронно или асинхронно. Используйте их MatlabEngine
static
методы, чтобы запустить MATLAB:
MatlabEngine.startMatlab
— Запустите сеанс работы с MATLAB синхронно.
MatlabEngine.startMatlabAsync
— Запустите сеанс работы с MATLAB асинхронно.
Необходимо всегда отключать, сеанс работы с MATLAB с помощью одного из методов в закрыли Сеанс MATLAB Engine.
Запустите MATLAB с Java синхронно.
import com.mathworks.engine.*; public class StartMatlab { public static void main(String[] args) throws Exception { MatlabEngine eng = MatlabEngine.startMatlab(); ... eng.close(); } }
Запустите MATLAB с Java асинхронно. Используйте get
метод возвращенного Future
возразите, чтобы ожидать возврата MatlabEngine
объект.
import com.mathworks.engine.*; import java.util.concurrent.Future; public class StartMatlab { public static void main(String[] args) throws Exception { Future<MatlabEngine> engFuture = MatlabEngine.startMatlabAsync(); //Do work while MATLAB engine starts ... MatlabEngine eng = engFuture.get(); ... eng.close(); } }
Можно задать опции запуска MATLAB, когда вы запускаете сеанс работы с MATLAB. Для получения информации об опциях запуска MATLAB смотрите Обычно Используемые опции запуска.
MatlabEngine.startMatlab
и MatlabEngine.startMatlabAsync
методы принимают массив строк как вход.
Запустите двигатель синхронно с опциями запуска MATLAB.
import com.mathworks.engine.*; public class StartMatlab { String[] options = {"-noFigureWindows", "-r", "cd H:"}; public static void main(String[] args) throws Exception { MatlabEngine eng = MatlabEngine.startMatlab(options); ... eng.close(); } }
Запустите двигатель асинхронно с опциями запуска MATLAB.
import com.mathworks.engine.*; import java.util.concurrent.Future; public class StartMatlab { public static void main(String[] args) throws Exception { String[] options = {"-noFigureWindows", "-r", "cd H:"}; Future<MatlabEngine> engFuture = MatlabEngine.startMatlabAsync(options); ... MatlabEngine eng = engFuture.get(); ... eng.close(); } }
Чтобы закончить сеанс движка MATLAB, используйте один из них MatlabEngine
методы:
Метод | Цель |
---|---|
Если процесс Java запускает сеанс работы с MATLAB как неразделяемый сеанс по умолчанию, Если сеанс работы с MATLAB является сеансом совместной работы, | |
Отключитесь от текущего сеанса работы с MATLAB синхронно или асинхронно. | |
Обеспечьте завершение работы текущего сеанса работы с MATLAB синхронно или асинхронно. |
com.mathworks.engine.MatlabEngine