Развертывание сгенерированных функций MATLAB из символьных выражений с MATLAB Compiler

В этом примере показано, как сгенерировать функцию MATLAB ® из символьного выражения и использовать функцию для создания автономного приложения с MATLAB Compiler™.

Этот пример следует шагам, описанным в разделе Создание автономного приложения из MATLAB (MATLAB Compiler), и обновляет шаги, чтобы сгенерировать функцию MATLAB из символьного выражения.

Сгенерируйте развертываемую функцию из символьного выражения

Во-первых, создайте дифференциальное уравнение второго порядка

d2ydt2+12dydt+2y=0.

как символьное уравнение, использующее syms.

syms y(t);
ode = diff(y,2) + diff(y)/2 + 2*y == 0;

Чтобы решить дифференциальное уравнение, преобразуйте его в дифференциальные уравнения первого порядка с помощью odeToVectorField функция.

V = odeToVectorField(ode);

Далее преобразуйте символическое выражение V в файл функции MATLAB при помощи matlabFunction. Преобразованная функция в файле myODE.m может использоваться без Symbolic Math Toolbox™. Преобразованная функция развертывается с помощью MATLAB Compiler.

matlabFunction(V,'vars',{'t','Y'},'File','myODE');

Написание скрипта в MATLAB

Написание скрипта MATLAB с именем plotODESols.m который решает дифференциальное уравнение используя ode45 и строит график решения. Сохраните его в той же директории, что и myODE.m функция.

type plotODESols.m
sol = ode45(@myODE,[0 20],[0 4]);
x = linspace(0,20,200);
y = deval(sol,x,1);
plot(x,y)
xlabel('Time t')
ylabel('Displacement y')

Можно использовать этот скрипт для создания и развертывания автономного приложения с помощью приложения Application Compiler.

Создайте автономное приложение с помощью приложения Application Compiler

На вкладке MATLAB Apps, в разделе Apps, нажмите стрелу, чтобы открыть галерею Apps. В разделе Развертывание приложения щелкните Application Compiler. Откроется окно проекта MATLAB Compiler.

Также можно открыть приложение Application Compiler, введя applicationCompiler в подсказку MATLAB.

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

  1. В разделе «Основной файл» панели инструментов нажмите кнопку.

  2. В диалоговом окне Add Files перейдите к местоположению файла, содержащему ваш сгенерированный скрипт. Выберите plotODESols.m и нажмите Открыть. Приложение Application Compiler добавляет plotODESols перейдите к списку основных файлов.

Решите, включать ли инсталлятор MATLAB Runtime в сгенерированное приложение, выбрав один из двух опций в разделе «Опции упаковки»:

  • Среда выполнения, загруженная из Интернета - генерирует инсталлятор, который загружает MATLAB Runtime и устанавливает его вместе с развернутым приложением MATLAB

  • Среда выполнения, включенная в пакет - Генерирует инсталлятор, который включает в себя инсталлятор MATLAB Runtime

Настройте упакованное приложение и его внешний вид путем ввода следующих опций:

  • Информация о приложении - редактируемая информация о развернутом приложении. Вы также можете настроить внешний вид автономного приложения, изменив значок приложения и заставку. Сгенерированный инсталлятор использует эти сведения для заполнения установленных метаданных приложения.

  • Дополнительные опции инсталлятора - Опции для редактирования пути установки по умолчанию для сгенерированного инсталлятора и выбора пользовательского логотипа.

  • Файлы, необходимые для запуска вашего приложения - Дополнительные файлы, необходимые для запуска сгенерированного приложения. Программное обеспечение включает эти файлы в созданный инсталлятор приложения. Когда вы добавляете plotODESols.m к главному файловому разделу панели инструментов компилятор автоматически добавляет myODE.m как файл, необходимый для запуска приложения.

  • Файлы, установленные для вашего конечного пользователя - Файлы, установленные вместе с вашим приложением. Эти файлы включают автоматически сгенерированные readme.txt файл и сгенерированный исполняемый файл для целевой платформы.

  • Дополнительные настройки среды выполнения - специфичные для платформы опции для управления сгенерированным исполняемым файлом.

Для получения дополнительной информации об этих опциях смотрите Настройка приложения (MATLAB Compiler).

Чтобы сгенерировать упакованное приложение, щелкните Пакет в разделе Пакет на панели инструментов. В диалоговом окне «Сохранение проекта» укажите местоположение, в котором будет сохранен проект.

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

Когда процесс развертывания завершен, выходы должны содержать приведенный ниже список вещей.

  • for_redistribution - Папка, содержащая файл, устанавливающий приложение и MATLAB Runtime.

  • for_testing - Папка, содержащая все артефакты, созданные mcc (например, двоичные файлы, заголовки и исходные файлы для определенного целевого объекта). Используйте эти файлы для тестирования установки.

  • for_redistribution_files_only - Папка, содержащая файлы, необходимые для перераспределения приложения. Распространите эти файлы среди пользователей, у которых на компьютерах установлены MATLAB или MATLAB Runtime.

  • PackagingLog.txt - Файл журнала, сгенерированный MATLAB Compiler.

Установка и запуск автономного приложения

Для установки автономного приложения в for_redistribution папка, дважды кликните MyAppInstaller_web исполняемый файл.

Если необходимо подключиться к Интернету с помощью прокси-сервера, щелкните Параметры подключения. Введите настройки прокси-сервера в указанном диалоговом окне. Нажмите кнопку ОК.

Для завершения установки следуйте инструкциям мастера установки.

Чтобы запустить автономное приложение:

  1. Откройте окно терминала.

  2. Перейдите к папке, в которой вы установили приложение.

  3. Запустите приложение.

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

Тестирование автономного приложения на целевой машине

Выберите одну целевую машину, чтобы протестировать сгенерированное MATLAB автономное приложение.

Скопируйте файлы в for_testing папка на целевую машину.

Чтобы протестировать автономное приложение:

  1. Откройте окно терминала.

  2. Перейдите к for_testing папка.

  3. Запустите приложение.

Развертывание автономного приложения на целевых компьютерах

Скопируйте for_redistribution_files_only папка в расположение файла на всех целевых компьютерах, где установлены MATLAB или MATLAB Runtime.

Запустите сгенерированное автономное приложение MATLAB на всех целевых компьютерах с помощью исполняемого файла в for_redistribution_files_only папка.