Запуск MATLAB на сервере без графического интерфейса подробно описан в
http://blogs.mathworks.com/desktop/2010/02/22/launching-matlab-without-the-desktop/
Вы также должны прочитать комментарии пользователей / обсуждение там
например. Вы можете использовать
Запустить matlab -nosplash -nodesktop -nojvm -minimize -r
"Testcommand, бросить курить"
если Java не используется, это слишком ограничивает ваши потребности:
Относительно «-nodesktop» и «-nojvm» существует третий
(недокументированный / неподдерживаемый) параметр: no -noawt ’. -noawt загружает Java (таким образом
включение Java I / O, структуры данных и т. д.) и только предотвращение Java GUI
В обсуждении также говорится об использовании недокументированного com.mathworks.mde.desk.MLDesktop.getInstance.getMainFrame.hide , чтобы скрыть окно командной строки, но эта команда, похоже, не работает
Кстати, вместо запуска MATLAB с помощью команды оболочки Windows вы можете запустить как сервер автоматизации COM:
http://www.mathworks.com/help/techdoc/matlab_external/brd0v3w.html
или через существующий C API для запуска MATLAB:
http://www.mathworks.com/help/techdoc/matlab_external/f29148.html
Если вы используете это часто (например, из веб-службы), лучше всего, чтобы экземпляр MATLAB оставался в памяти все время (поскольку приложения Windows, например, совместно используют код и имеют отдельные данные, это может сэкономить много времени, избегая перезагрузка кода MATLAB в память при каждом запуске скрипта). Этот экземпляр также может быть безголовым (без пользовательского интерфейса), используя эту команду при загрузке сервера (например, добавив запись в HKLM / Software / Microsoft / Windows / CurrentVersion / Run в реестре Windows с помощью "regedit.exe"):
start matlab -nosplash -nodesktop -nojvm -minimize