exponenta event banner

Автономные приложения и аргументы

Обзор

Можно создать автономный модуль для запуска приложения без передачи или извлечения аргументов в него или из него.

Однако аргументы могут передаваться автономным приложениям, созданным с помощью MATLAB ® Compiler™, так же, как входные аргументы передаются любому консольному приложению .

Ниже приведены примеры команд, используемых для выполнения приложения с именем filename из командной строки Windows ® или Linux ® с различными типами входных аргументов.

Передача имен файлов, цифр или букв, матриц и переменных MATLAB

Пройти....Использовать этот синтаксис....Примечания
Файл с именем helpfilefilename helpfile 
Цифры или буквыfilename 1 2 3 a b cНе используйте запятые или другие разделители между передаваемыми цифрами и буквами.
Матрицы в качестве входных данныхfilename "[1 2 3]" "[4 5 6]"Разместите двойные кавычки вокруг входных аргументов, чтобы обозначить пробел.
Переменные MATLAB
for k=1:10
cmd = ['filename ',num2str(k)];
system(cmd);
end
Для передачи переменной MATLAB в программу в качестве входных данных необходимо сначала преобразовать ее в символьный вектор.

Запуск автономных приложений, использующих аргументы

Автономное приложение, использующее аргументы из MATLAB, вызывается с помощью любой из следующих команд:

  • SYSTEM

  • DOS

  • UNIX

  • !

Для передачи содержимого переменной MATLAB в программу в качестве входных данных необходимо сначала преобразовать переменную в символьный вектор. Например:

Использование SYSTEM, DOS или UNIX

Укажите всю команду для запуска приложения в виде символьного вектора (включая входные аргументы). Например, передача цифр и букв 1 2 3 a b c может быть выполнено с помощью SYSTEM , следующим образом:

system('filename 1 2 3 a b c')

С помощью! (Взрыв) Оператор

Вы также можете использовать ! оператор (bang) из MATLAB следующим образом:

!filename 1 2 3 a b c

При использовании ! (bang) оператор, остальная часть входной линии интерпретируется как SYSTEM поэтому использование переменных MATLAB невозможно.

Использование системы Windows

Чтобы запустить автономное приложение, дважды щелкнув его, создайте пакетный файл, вызывающий автономное приложение с указанными входными аргументами. Например:

 rem This is main.bat file which calls 
 rem filename.exe with input parameters

 filename "[1 2 3]" "[4 5 6]"
 @echo off
 pause

Последние две строки кода в main.bat добавляются таким образом, чтобы окно, отображающее выходные данные, оставалось открытым до тех пор, пока не будет нажата клавиша.

После сохранения этого файла вы запускаете код с указанными выше аргументами, дважды щелкнув значок для main.bat.

Использование файла MATLAB, который планируется развернуть

При запуске файлов MATLAB с аргументами, которые также планируется развернуть с помощью компилятора MATLAB, помните следующее:

  • Входные аргументы, передаваемые исполняемому файлу из системного запроса, принимаются как ввод символьного вектора. Таким образом, если ожидаются данные в другом формате (например, двойном), необходимо сначала преобразовать ввод вектора символов в требуемый формат в коде MATLAB. Например, можно использовать STR2NUM для преобразования ввода символьного вектора в числовые данные.

  • Невозможно вернуть значения из автономного приложения пользователю. Единственный способ вернуть значения из скомпилированного кода - отобразить их на экране или сохранить в файле.

    Для возврата данных на экран выполните одно из следующих действий:

    • Не используйте точку с запятой для подавления команд, которые дают возвращаемые данные.

    • Используйте DISP для отображения значения переменной, а затем перенаправления выходных данных в другие приложения с помощью перенаправлений ( > оператор) или трубы (||) в системах, отличных от Windows.

Ввод аргументов и отображение на экране с помощью файла MATLAB.  Существует два способа использования файла MATLAB для ввода входных аргументов и вывода данных на экран:

 Метод 1

 Метод 2