Можно создать автономный режим для запуска приложения без передачи или извлечения аргументов в него или из него.
Однако аргументы могут быть переданы автономным приложениям, созданным с помощью MATLAB® Compiler™ так же, как входные параметры передаются в любое консольное приложение.
Ниже приведены примеры команд, используемых для выполнения приложения, вызываемого filename из Windows® или Linux® командная строка с различными типами входных параметров.
| Пройти.... | Использовать этот синтаксис.... | Примечания |
|---|---|---|
Файл с именем helpfile | filename 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 программе в качестве входов, переменная должна сначала быть преобразована в вектор символов. Для примера:
Задайте целую команду, чтобы запустить приложение как вектор символов (включая входные параметры). Например, передавать цифры и буквы 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.
Чтобы запустить автономное приложение путем двойного щелчка по нему, вы создаете пакетный файл, который вызывает автономное приложение с указанными входными параметрами. Для примера:
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 Compiler, имейте в виду следующее:
Входные параметры, которую вы передаете в ваш исполняемый файл из системного приглашения, получаются как вектор символов входа. Таким образом, если вы ожидаете данные в другом формате (для примера, double), необходимо сначала преобразовать вход вектора символов в необходимый формат в коде MATLAB. Для примера можно использовать STR2NUM чтобы преобразовать входной параметр вектора символов в числовые данные.
Вы не можете вернуть значения из автономного приложения пользователю. Единственный способ вернуть значения из скомпилированного кода - это либо отобразить их на экране, либо сохранить в файле.
Для порядка вывода данных на экран выполните одно из следующих действий:
Не используйте точки с запятой для подавления команд, которые дают ваши возвращаемые данные.
Используйте DISP команда для отображения значения переменных, затем перенаправить выход в другие приложения с помощью перенаправлений (> оператор) или трубопроводы (||) в системах, отличных от Windows.
Взятие входных параметров и отображение на экране с помощью файла MATLAB. Вот два способа использовать файл MATLAB, чтобы взять входные параметры и отобразить данные на экране: