Можно запустить сеанс 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