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

Обзор

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

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

Используя СИСТЕМУ, DOS или UNIX

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

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

Используя! (Удар) оператор

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

!filename 1 2 3 a b c

Когда вы используете ! (удар) оператор, остаток от входной линии интерпретирован как SYSTEM команда, таким образом, не возможно использовать переменные MATLAB.

Используя Windows System

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

 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 Compiler, помните о следующем:

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

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

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

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

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

Взятие Входных параметров и Отображение на Экран Используя файл MATLAB.  Вот два способа использовать файл MATLAB, чтобы взять входные параметры и данные об отображении на экран:

 Метод 1

 Метод 2