Можно создать автономный режим для запуска приложения без передачи или извлечения аргументов в него или из него.
Однако аргументы могут быть переданы автономным приложениям, созданным с помощью 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, чтобы взять входные параметры и отобразить данные на экране: