В предыдущей статье мной были рассмотрены возможности среды GUIDE входящей в MATLAB, ее инструментарий сильно устарел как по функциональности так и по дизайну. Такого инструментария недостаточно для реализации более-менее крупных проектов, которые подразумевают большое количество строк кода и создание исполняемого файла. Под такие требования полностью подпадает инструментарий MLAPP. Такого приложения нет в старых версиях MATLAB, в рамках данной статьи работа будет вестись в MATLAB 2019а. Для среды MLAPP достаточно выполнить в командной строке матлаба следующую команду:

Далее открывается окно в котором можно выбрать один из возможных шаблонов, либо пустое окно для создания приложения:

В качестве примера приложение будет создаваться без использования шаблонов:

В инструментарий mlapp входит большое число элементов управления для организации интерфейса программы:


Добавляя элементы управления, формируем облик приложения:

Для создания реакции на нажатие кнопок необходимо открыть контекстное меню:

У mlapp существует особенность, которая сильно отличает написание кода в нем от других IDE, mlapp не позволяет редактировать тот код, который отвечает за структуру самого приложения (настройки интерфейса, параметры элементов управления), то что нельзя редактировать выделяется в редакторе серой заливкой. Область, в которой приложение позволяет писать код, показано белой заливкой.

И редактировать и создавать можно только тот код который отвечает за логику работы приложения:

Язык написания кода – это MATLAB, а файлы формата mlapp представляют собой *.zip архивы которых содержат код приложения и файл графического интерфейса.
Когда приложение готово, его необходимо подготовить к распространению, для этого в mlapp существует следующий инструмент:


Для работы таких скомпилированных приложений необходимо, чтобы на компьютере было установлено ядро Matlab (matlab_runtime). Ядро матлаба можно либо скачать непосредственно с официального сайта и установить, либо встроить в распространяемое приложение:




Комментарии (8)
 - Arastas08.12.2022 16:12+1- Файлы mlapp не версионируются нормально сторонними средствами, вроде git. И это проблема. 
 - timofeevka10.12.2022 10:19-1- А как у вас с лицензиями то? Или пиратку узаконили официально? - По GUI : в SimInTech графическая оболочка совмещает в себе сразу функции scada и рисования гуя. Собственно используя только саму оболочку без плагинов делали видеокадры для тренажеров АЭС успешно. Инструкция есть в справке по программе. - Собственно что вы пишете то до сих пор про матлаб? Пора писать о том на что и как его заменять на предприятиях и учебных заведениях. 
 - timofeevka10.12.2022 10:22- А да: уберите тег "инженерные системы", обычно под этим имеют в виду водопровод , канализацию и электрические сети. 
 - beeptec10.12.2022 13:06- Выглядит довольно недоношенным дитём, по сравнению с GUI LabVIEW, в который разработчик может встроить код MatLab и не париться со всеми этими "недо новшествами".  - Arastas10.12.2022 13:48- Ну я видел несколько лет назад примеры gui labview. Либо они за эти несколько лет сильно изменились, либо я не понял, о чем вы: о процессе разработки или о конечном продукте?  - beeptec10.12.2022 13:53- Эти возможности по интеграции в LW существуют с 2008 г, как впрочем и других языков, на тот случай, если разработчики хотят получить в среде полную свободу мысли. 
 Самые креативные проекты построения GUI от LW к примеру SpaceX.
 К слову процесс GUI разработки ML 1:1 по образу и подобию это LW, у которого есть есть килотонны тулкитов под разные темы включая собственный exe компилятор дашборд, и прочие плюшки для создания автономного кроссплатформенного приложения с установщиком.
 
 
 
           
 
Arastas
В смысле, скачать 5Mb или встроить в инсталятор 754Mb?