В этом примере показано, как сгенерировать функцию MATLAB ® из символьного выражения и использовать функцию для создания автономного приложения с MATLAB Compiler™.
Этот пример следует шагам, описанным в разделе Создание автономного приложения из MATLAB (MATLAB Compiler), и обновляет шаги, чтобы сгенерировать функцию MATLAB из символьного выражения.
Во-первых, создайте дифференциальное уравнение второго порядка
.
как символьное уравнение, использующее 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 с именем 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.
На вкладке MATLAB Apps, в разделе Apps, нажмите стрелу, чтобы открыть галерею Apps. В разделе Развертывание приложения щелкните Application Compiler. Откроется окно проекта MATLAB Compiler.
Также можно открыть приложение Application Compiler, введя applicationCompiler
в подсказку MATLAB.
В окне проекта MATLAB Compiler укажите основной файл приложения MATLAB, который необходимо развернуть.
В разделе «Основной файл» панели инструментов нажмите кнопку.
В диалоговом окне 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
исполняемый файл.
Если необходимо подключиться к Интернету с помощью прокси-сервера, щелкните Параметры подключения. Введите настройки прокси-сервера в указанном диалоговом окне. Нажмите кнопку ОК.
Для завершения установки следуйте инструкциям мастера установки.
Чтобы запустить автономное приложение:
Откройте окно терминала.
Перейдите к папке, в которой вы установили приложение.
Запустите приложение.
Убедитесь, что у вас есть права администратора на других компьютерах для запуска и развертывания автономного приложения.
Выберите одну целевую машину, чтобы протестировать сгенерированное MATLAB автономное приложение.
Скопируйте файлы в for_testing
папка на целевую машину.
Чтобы протестировать автономное приложение:
Откройте окно терминала.
Перейдите к for_testing
папка.
Запустите приложение.
Скопируйте for_redistribution_files_only
папка в расположение файла на всех целевых компьютерах, где установлены MATLAB или MATLAB Runtime.
Запустите сгенерированное автономное приложение MATLAB на всех целевых компьютерах с помощью исполняемого файла в for_redistribution_files_only
папка.