В предыдущей статье мной были рассмотрены возможности среды GUIDE входящей в MATLAB, ее инструментарий сильно устарел как по функциональности так и по дизайну. Такого инструментария недостаточно для реализации более-менее крупных проектов, которые подразумевают большое количество строк кода и создание исполняемого файла. Под такие требования полностью подпадает инструментарий MLAPP. Такого приложения нет в старых версиях MATLAB, в рамках данной статьи работа будет вестись в MATLAB 2019а. Для среды MLAPP достаточно выполнить в командной строке матлаба следующую команду:
Далее открывается окно в котором можно выбрать один из возможных шаблонов, либо пустое окно для создания приложения:
В качестве примера приложение будет создаваться без использования шаблонов:
В инструментарий mlapp входит большое число элементов управления для организации интерфейса программы:
Добавляя элементы управления, формируем облик приложения:
Для создания реакции на нажатие кнопок необходимо открыть контекстное меню:
У mlapp существует особенность, которая сильно отличает написание кода в нем от других IDE, mlapp не позволяет редактировать тот код, который отвечает за структуру самого приложения (настройки интерфейса, параметры элементов управления), то что нельзя редактировать выделяется в редакторе серой заливкой. Область, в которой приложение позволяет писать код, показано белой заливкой.
И редактировать и создавать можно только тот код который отвечает за логику работы приложения:
Язык написания кода – это MATLAB, а файлы формата mlapp представляют собой *.zip архивы которых содержат код приложения и файл графического интерфейса.
Когда приложение готово, его необходимо подготовить к распространению, для этого в mlapp существует следующий инструмент:
Для работы таких скомпилированных приложений необходимо, чтобы на компьютере было установлено ядро Matlab (matlab_runtime). Ядро матлаба можно либо скачать непосредственно с официального сайта и установить, либо встроить в распространяемое приложение:
Валерий Гольцев
Автор: https://vk.com/elteh_helper
Комментарии (8)
Arastas
08.12.2022 16:12+1Файлы mlapp не версионируются нормально сторонними средствами, вроде git. И это проблема.
timofeevka
10.12.2022 10:19-1А как у вас с лицензиями то? Или пиратку узаконили официально?
По GUI : в SimInTech графическая оболочка совмещает в себе сразу функции scada и рисования гуя. Собственно используя только саму оболочку без плагинов делали видеокадры для тренажеров АЭС успешно. Инструкция есть в справке по программе.
Собственно что вы пишете то до сих пор про матлаб? Пора писать о том на что и как его заменять на предприятиях и учебных заведениях.
timofeevka
10.12.2022 10:22А да: уберите тег "инженерные системы", обычно под этим имеют в виду водопровод , канализацию и электрические сети.
beeptec
10.12.2022 13:06Выглядит довольно недоношенным дитём, по сравнению с GUI LabVIEW, в который разработчик может встроить код MatLab и не париться со всеми этими "недо новшествами".
Arastas
10.12.2022 13:48Ну я видел несколько лет назад примеры gui labview. Либо они за эти несколько лет сильно изменились, либо я не понял, о чем вы: о процессе разработки или о конечном продукте?
beeptec
10.12.2022 13:53Эти возможности по интеграции в LW существуют с 2008 г, как впрочем и других языков, на тот случай, если разработчики хотят получить в среде полную свободу мысли.
Самые креативные проекты построения GUI от LW к примеру SpaceX.
К слову процесс GUI разработки ML 1:1 по образу и подобию это LW, у которого есть есть килотонны тулкитов под разные темы включая собственный exe компилятор дашборд, и прочие плюшки для создания автономного кроссплатформенного приложения с установщиком.
Arastas
В смысле, скачать 5Mb или встроить в инсталятор 754Mb?