Если вы используете Matlab из другой программы в Windows, вы можете запустить его с помощью Matlab COM Automation Server .Элемент управления ActiveX имеет свойство Visible, которое позволит вам сделать командное окно невидимым, но похоже, что оно оставляет графики видимыми.
Вот пример того, как сделать это с использованием другого Matlab в качестве контроллера.
ml = actxserver('Matlab.Application');
ml.Visible = false;
ml.Execute('surf(peaks)');
Или в VBScript.
Set ml = CreateObject("Matlab.Application")
ml.Visible = false
ml.Execute("surf(peaks)")
ml.Execute("pause(4)")
Этот режим взаимодействия может быть больше, чем вы хотите, в зависимости от структуры вашего рабочего процесса, потому что он позволит вам запуститьMatlab обрабатывает один раз и выполняет для него много запросов на заговор, экономя затраты на запуск и позволяя вам видеть сразу несколько заговоров.
Если вы все еще хотите вызывать его из командной строки, просто запустите его через оболочку .vbsскрипт с указанным выше кодом VBScript, но вызовите run('...\mfile.m')
вместо surf(peaks)
.Вашему mfile.m потребуется некоторая логика графического интерфейса, которая блокирует его до тех пор, пока пользователь не отклонит график, заменив вызов pause
, поэтому он не исчезнет, пока они не закончат его просмотр.