В предыдущей статье мной были рассмотрены возможности среды GUIDE входящей в MATLAB, ее инструментарий сильно устарел как по функциональности так и по дизайну. Такого инструментария недостаточно для реализации более-менее крупных проектов, которые подразумевают большое количество строк кода и создание исполняемого файла. Под такие требования полностью подпадает инструментарий MLAPP. Такого приложения нет в старых версиях MATLAB, в рамках данной статьи работа будет вестись в MATLAB 2019а. Для среды MLAPP достаточно выполнить в командной строке матлаба следующую команду:
Далее открывается окно в котором можно выбрать один из возможных шаблонов, либо пустое окно для создания приложения:
В качестве примера приложение будет создаваться без использования шаблонов:
В инструментарий mlapp входит большое число элементов управления для организации интерфейса программы:
Добавляя элементы управления, формируем облик приложения:
Для создания реакции на нажатие кнопок необходимо открыть контекстное меню:
У mlapp существует особенность, которая сильно отличает написание кода в нем от других IDE, mlapp не позволяет редактировать тот код, который отвечает за структуру самого приложения (настройки интерфейса, параметры элементов управления), то что нельзя редактировать выделяется в редакторе серой заливкой. Область, в которой приложение позволяет писать код, показано белой заливкой.
И редактировать и создавать можно только тот код который отвечает за логику работы приложения:
Язык написания кода – это MATLAB, а файлы формата mlapp представляют собой *.zip архивы которых содержат код приложения и файл графического интерфейса.
Когда приложение готово, его необходимо подготовить к распространению, для этого в mlapp существует следующий инструмент:
Для работы таких скомпилированных приложений необходимо, чтобы на компьютере было установлено ядро Matlab (matlab_runtime). Ядро матлаба можно либо скачать непосредственно с официального сайта и установить, либо встроить в распространяемое приложение:
Валерий Гольцев
Автор: https://vk.com/elteh_helper