Можно запустить MATLAB® сеанс с вашего Java® программа синхронно или асинхронно. Используйте эти MatlabEngine static методы запуска MATLAB:
MatlabEngine.startMatlab - Запуск сеанса работы с MATLAB синхронно.
MatlabEngine.startMatlabAsync - Запуск сеанса работы с MATLAB асинхронно.
Вы всегда должны прекратить сеанс работы с MATLAB с помощью одного из методов в Close MATLAB Engine Session.
Запустите 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, см. «Обычно используемые опции запуска».
The 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