Запретить печать в командной строке в MATLAB

Прежде чем ответить, я не ищу функциональность ; подавить печать командной строки.

У меня есть набор сценариев, которые не являются моими, и я не могу их изменить. Однако в моих сценариях я обращаюсь к этим другим сценариям через evalin('base', 'scriptName'), К сожалению, эти другие сценарии выполняют много ненужной и уродливой печати в командном окне, которое я не хочу видеть. Не имея возможности редактировать эти другие сценарии, я хотел бы отменить вывод в командную строку на время выполнения этих других сценариев.

Одним из возможных ответов было использование evalc, но когда я пытаюсь evalc(evalin('base', 'scriptName')) MATLAB выдает ошибку с жалобой на то, что не может выполнить скрипт как функцию. Я надеюсь, что есть что-то вроде возможности отключить печать командного окна или перенаправить весь вывод в какой-то нулевой файл так же, как /dev/null в Unix.

3 ответа

Решение

Я думаю, вам просто нужно включить аргумент в ваш evalc пример в строку:

evalc('evalin(''base'', ''scriptName'')');

Вы пробовали это решение здесь?

echo off;

Я не знаю, будет ли это соответствовать вашим потребностям, но другое решение может состоять в том, чтобы открыть новый сеанс Matlab и использовать там только свёртывание -nodesktop Форма (просто командное окно). Оттуда вы можете запускать надоедливые скрипты и работать с основной сессией как обычно.

Проблема здесь в том, что сеансы не могут быть синхронизированы, поэтому, если вам нужно постоянно работать с результатами сценариев, это будет немного сложнее. Возможно, вы можете сохранить результат на диск, а затем вызвать его из основного сеанса... Но это в основном зависит от вашего рабочего процесса с этими сценариями.

Другие вопросы по тегам