Матлаб программный интерфейс приложения api. Создание графического интерфейса в среде Matlab. Визуализация данных

Построение графического интерфейса в системе Matlab


Введение

Matlab – это система инженерных и научных вычислений. Она обеспечивает математические вычисления, визуализацию научной графики программирование и моделирование процессов с использованием интуитивно понятной среды окружения, когда задачи и их решения могут быть представлены в нотации, близкой к математической. Наиболее известные области применения системы Matlab :

· математика и вычисления;

· разработка алгоритмов;

· вычислительный эксперимент, имитационное моделирование, макетирование;

· анализ данных, исследование и визуализация результатов;

· научная и инженерная графика;

· разработка приложений, включая графический интерфейс пользователя.

Основным объектом при программировании в среде Matlab является массив, для которого не требуется указывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками.

Система Matlab – это одновременно и операционная среда и язык программирования. Пользователь может написать специализированные функции и программы, которые оформляются в виде М-файлов. По мере увеличения количества созданных программ возникают проблемы их классификации и тогда можно попытаться собрать родственные функции в специальные папки. Это приводит к концепции пакетов прикладных программ, которые представляют собой коллекции М-файлов для решения определенной задачи или проблемы.


C реда системы Matlab

Среда системы Matlab это совокупность интерфейсов, через которые пользователь поддерживают связь этой системой. Это: диалог посредством командной строки или графического интерфейса, просмотр рабочей области, редактор и отладчик М-файлов, работа с файлами и оболочкой DOS, экспорт и импорт данных, интерактивный доступ к справочной информации, динамическое взаимодействие с внешними системами Microsoft Word , Microsoft Excel и др. Реализуются эти интерфейсы через командное окно, инструментальную панель, системы просмотра рабочей области и путей доступа, редактор / отладчик М-файлов, специальные меню.

Пользовательский интерфейс носит дружественный характер и построен с учетом устоявшихся принципов программного обеспечения, разрабатываемого для операционной системы Windows .

В системе Matlab существует два вида м-файлов:

Скрипты – представляют последовательности команд (представляют собой процедуры);

Function– представляют собой функции с входными аргументами и выходными параметрами (значениями функции).

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

Все эти и другие трудности, возможно, решить при использовании графического интерфейса пользователя. (GUI– GraphicalUserInterface)

Основные принципы построения графического интерфейса

Использование графического интерфейса позволяет пользователю сделать программу более универсальной.

Как и любой процесс проектирования, процесс построения графического интерфейса пользователя можно разбить на следующие этапы:

1. Постановка задачи,

2. Создание формы интерфейса и создание на неё элементов управления.

3. Написание кода программы и кода обработки событий.

Этапы построения графического интерфейса пользователя

1. На первом этапе проводиться анализ поставленной задачи и определяется количество и состав элементов управления необходимых для решения задачи.

2. На втором этапе создаётся форма графического интерфейса и на ней создаются и размещаются элементы управления. Здесь же описываются их свойства.

Задавать расположение и выравнивать элементы на форме описывать их свойства можно "вручную", но для удобства и быстроты используют редактор выравнивания объектов (TheAlignmentTool) и редактора свойств (ThePropertyEditor).

Существует два способа создания формы и элементов управления, а так же задания или изменения их свойств:

Использование команды WORKSPACE (то есть использование команды операционной среды MATLAB).

Использование средств панели инструментов – совокупности средств для быстрого создания GUI (TheControlPanel).

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

Эти команды можно использовать как для написания кода, создающего графический интерфейс пользователя, так и использовать для управления свойствами элементов управления из тела m-файлов. Благодаря чему мы можем получить визуализацию нашего процесса вычисления.

На практике всё более склоняются ко второму способу создания графического интерфейса с элементами управления. Это объясняется тем, что при использовании панели управления с её редакторами свойств, событий, выравнивания очень удобно работать, и создавать GUI значительно быстрее, чем в первом случае.

3. На третьем этапе создания графического интерфейса пользователя (GUI) пишется код основной программы вычисления и код для обработки событий.

Код основной программы вычисления, пишется на языке программирования операционной среды Matlab, в виде m-файла. Созданные m-файлы закрепляются за событием какого-нибудь элемента управления или формы.

При описании свойств элементов управления события описываются в m-файле:

а) либо при создании каждого элемента управления описываем его свойства и сразу описываем действие событие;

б) либо описываем обработку события для каждого элемента при помощи редактора событий (ThePropertyEditor).

Начало выполнения действий по созданию графического интерфейса

Редактор GUIDE (руководство) вызывается командой guideиз командного окна или путем выполнения цепочки команд главного меню File (Файл) – New (Новый) – GUI (Графический Интерфейс).

Две странички, присутствующие на стартовой заставке (рис. 1), позволяют начать проектирование нового интерфейса (вкладка – CreateNewGUI, (Создать новый интерфейс)) или воспользоваться ранее созданным интерфейсом (вкладка – OpenExistingGUI (Открыть существующий интерфейс)). Дело в том, что описание формы приложения вместе с расположенными на ней интерфейсными компонентами может быть сохранено в файле с расширением fig. Если на диске хранится нечто похожее на наше будущее приложение, существующим файлом можно воспользоваться с целью экономии времени.

Начальная конструктора графического интерфейса (GUIDE) (рис. 1)

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

Окно редактирования формы (рис. 2)


Окно редактирования m-кода формы (рис. 3)

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


Окно программы, запущенной на выполнение (рис. 4)

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

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

Алгоритм создания интерфейса

1. Вызвать панель управления.

1) Создать новую форму интерфейса или загрузить существующую.

2) Перейти в режим редактирования формы.

3) Натаскать на форму необходимые элементы управления.

2. Вызвать редактор свойств.

2) Выбрать нужное свойство и изменить его.

3. Вызвать редактор событий.

1) Выбрать элемент управления.

2) Написать код обработки события.

4. Вызвать редактор выравнивания объектов.

1) Выбрать элемент управления иди группу элементов.

2) Выбрать метод выравнивания.

5. Перейти в окно панели управления и активизировать интерфейс.

Литература

1. Дьяконов, В.П. MATLAB 6.5 SP1/7 + Simulink 5/6 в математике и моделировании / В.П. Дьяконов. – М.: СОЛОН-Пресс, 2005. – 576 с.

2. Дьяконов, В.П. MATLAB 6.5 SP1/7 + Simulink 5/6. Основы применения / В.П. Дьяконов – М.: СОЛОН-Пресс, 2005. – 800 с.

3. Дьяконов, В.П. MATLAB 6.5 SP1/7 + Simulink 5/6. Работа с изображениями и видеопотоками / В.П. Дьяконов. – М.: СОЛОН-Пресс, 2005. – 400 с.

4. Ермачкова Ю.А. Проектирование интерфейса в среде GUIDEMATLAB / Ю.А. Ермачкова // Современные информационные технологии в экономике, управлении и образовании. Сборник материалов межвузовской научно-практической конференции, посвященной 175 – летию потребительской кооперации России и 5 – летию филиала. – М.: Информационно-внедренческий центр «Маркетинг», 2006. – С. 35–37.


Приложение

function varargout = kursovaya(varargin)

% KURSOVAYA M-file for kursovaya.fig

% KURSOVAYA, by itself, creates a new KURSOVAYA or raises the existing

% H = KURSOVAYA returns the handle to a new KURSOVAYA or the handle to

% the existing singleton*.

% KURSOVAYA ("CALLBACK", hObject, eventData, handles,…) calls the local

% function named CALLBACK in KURSOVAYA.M with the given input arguments.

% KURSOVAYA ("Property", "Value",…) creates a new KURSOVAYA or raises the

% existing singleton*. Starting from the left, property value pairs are

В Matlab существует два способа создать графический интерфейс пользователя (Graphical user interface, GUI):

  1. Полуавтоматический способ создание GUI с помощью инструмента GUI Layout Editor (команда guide в консоли Matlab)
  2. "Ручной" программный способ создания GUI (GUI programmatically)
У каждого способа есть свои недостатки и преимущества. GUI Layout Editor больше подходит для начинающих пользователей, а программное создание GUI - для профессионалов.

GUI Layout Editor

В редакторе GUI Layout Editor (команда guide в консоли Matlab) можно вручную создавать все элементы интерфейса: панели, кнопки, чекбоксы и т.д.

В результате создания интерфейса получим два файла: fig-файл с «фигурой» самого интерфейса и m-файл, который создается самим Matlab и содержит программный код всех элементов интерфейса.

Главное преимущество guide - легко сделать простой GUI, т.к. весь код для интерфейса генерируется самим Matlab. Для работы программной частью GUI достаточно изучить принцип обмена данными с помощью команд setappdata и getappdata (что является стандартным приемом для обмена данными между различными элементами GUI).

Но более профессиональный подход – это создавать GUI программно, не пользуясь guide.

GUI programmatically

Преимущества програмного создания GUI:
  • Легче управлять кодом GUI (код лучше структурирован, легче создавать новые элементы, удалять старые и т.д.)
  • Нет отдельного fig-файла для интерфейса и отдельного программного m-файла (так как любое обновление fig-файла в guide требует соответствующего обновления m-файла и может привести к нежелательным эффектам).
Ознакомиться с guide, конечно, нужно на первых порах, чтобы лучше понять GUI в Matlab, но, по-моему, стоит переходить к программному созданию GUI чем быстрее, тем лучше.

А вот здесь и открывается другая сторона медали. Главная трудность в программном создании GUI в MATLAB то, что нужно вручную указывать расположение всех элементов интерфейса (параметр "Position" с 4-я элементами: x,y координаты + ширина и длина). Это очень неудобно. В guide это проблема решается очень просто - с помощью инструмента Tools->Align Objects .

Простые интерфейсы можно довольно просто создавать программно, а вот чем больше кнопок, боксов – тем больше усложняется эта задача.

Итак, одной из важных проблем при программном создании GUI является расположение элементов. Хороший обзор инструментов, которые помогают решить эту проблему есть по ссылке Matlab layout managers . К сожелению, только в комментариях к обзору по ссылке упомянули . Вот об этом тулбоксе и пойдет речь дальше.

С помощью полностью решается проблема с визуальным оформлением GUI (не зря попал в выборку программы недели на главном портале Matlab Pick of the Week).

GUI with GUI Layout Toolbox

Основная идея этого тулбокса вынесена в его название - это создание макетов (layouts), которые упрощают расположение элементов в главном окне GUI. У этого тулбокса очень хорошая инструкция (только на английском языке).

Общая инструкция по работе с очень простая:

1. Создаем сетку (uiextras.Grid) (или можно этот шаг пропустить)

2. На сетку помещаем панели (uiextras.Panel),

3. На панели помещаем боксы (uiextras.Box)

4. В боксы помещаем элементы управления: кнопки, оси или еще что-нибудь.

Теперь о расположении всех элементов интерфейса заботиться .

Наглядный пример GUI с помощью с моими комментариями можно скачать по ссылке 29 .

В моем примере обмен данными между функциями и элементами интерфейса происходит с помощью приема, который называется Sharing Variables Between Parent and Nested - переменная, объявленная в главной функции, видима во всех вложенных функциях. Этот прием можно использовать вместо стандартных setappdata и getappdata.

Вместо заключения

Раньше я редко доводил программы до GUI и если и делал это, то только с помощью guide. Но с GUI Layout Toolbox эта задача очень сильно упростилась, за это большое спасибо разработчикам этого тулбокса.

Таблица 1.3 Специальные символы

Таблица 1.2 Зарезервированные имена констант

Таблица 1.1 Форматы вывода на экран

Рис.2 Смена текущего каталога

Установленный путь к новому текущему каталогу пользователя при повторной загрузкеMatlab можно найти в строкеCurrent Folder по раскрывающейся кнопке.

Рис.1Основной интерфейс MATLAB

Рабочая среда, изображенная на рисунке 1.

Чтобы запустить Matlab, щелкните мышкой по ярлыку

Начало работы в Matlab

Запись программ в системе традиционна и потому привычна для большинства пользователей компьютеров. К тому же система дает возможность редактировать программы с помощью любого привычного для пользователя текстового редактора. Имеет она и собственный редактор с отладчиком.

Matlab - это уникальная коллекция реализаций современных численных методов.

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

Пакет применяется в основном для работы с массивами данных - матрицами.

Предназначения среды Matlab:

- Математические расчеты

- Разработка алгоритмов

- Обработка экспериментальных данных

- Визуализация данных

- Моделирование систем и процессов

- Разработка приложений


2. Сменить текущий каталог. Для этого в строкеCurrent Folder нажмите кнопку с многоточием и в открывшемся Окне папок откройте папку, в которой хранятся Ваши M-файлы (программные файлы). Если такой папки нет, то создайте её в этом окне (рис.2).



3. В Командном окне откройте меню/File/ Preferences... - открывается окно настройки элементов интерфейса (рис.3).

Основные настройки:

· Вкладка Fonts – установить стиль, размер шрифта (обычно эта установка необходима при первом открытии Mathlab, т.к. по умолчанию шрифт 7пт);

· Вкладка Color – установить цвет для команд, комментария, функций и т.д. (в этом нет особой необходимости);

· Вкладка Toolbars – установить/удалить пиктограммы на Панель инструментов.

· ВкладкаCommand Window– установить формат.

Все расчеты в MATLAB выполняются с двойной точностью, а для представления чисел на экране имеются разные форматы. Нужный формат может быть определен в меню (File/Preferences) либо при помощи команды format в командном окне (>>format long , >>format compact). Существуют следующие способы представления чисел (табл.1.1).

Переменные в MATLAB не нужно предварительно описывать, указывая их тип. Все данные хранятся в виде массивов: числовые переменные (внутренний тип numeriс), текстовые строки (char), ячейки (сеll) и структуры (struct). Двумерный массив – это матрица, одномерный – вектор, а скаляр – матрица размера 1x1. Имя переменной должно начинаться с буквы, за ней могут идти буквы, цифры и символ подчеркивания. Допустимы имена любой длины, но MATLAB идентифицирует их по первым 31 символам и различает большие и малые буквы. В MATLAB имеется ряд констант (табл.1.2).

Отметим, что имя NaN (Not-a-Number) зарезервировано для результата операций 0/0, 0*inf, inf-inf и т.п.

Символ Назначение
Квадратные скобки используются при задании матриц и векторов
Пробел служит для разделения элементов матриц
, Запятая применяется для разделения элементов матриц и оператора в строке ввода
; Точка с запятой отделяет строки матриц, а точка с запятой в конце оператора (команды) отменяет вывод результата на экран
: Двоеточие используется для указания диапазона (интервала изменения величины) и в качестве знака групповой операции над элементами матриц
() Круглые скобки применяются для задания порядка выполнения математических операций, а также для указания аргументов функций и индексов матриц
. Точка отделяет дробную часть числа от целой его части, а также применяется в составе комбинированных знаков (.*, .^, ./, .\)
Три точки и более в конце строки отмечают продолжение выражения на следующей строчке
% Знак процента означает начало комментария
Апостроф указывает на символьные строки, а для включения самого апострофа в символьную строку нужно поставить два апострофа подряд

При запуске система открывает от одного до пяти окон (в зависимости от установок) Рис.4:

А.К. ЕФРЕМОВ

ИНТЕГРИРОВАННАЯ

СИСТЕМА АВТОМАТИЗАЦИИ

МАТЕМАТИЧЕСКИХ

И НАУЧНО-ТЕХНИЧЕСКИХ

РАСЧЕТОВ И МОДЕЛИРОВАНИЯ

в качестве учебного пособия по дисциплинам

«Автономные мехатронные устройства управления»,

«Моделирование автономных мехатронных устройств управления»

Издательство МГТУ им. Н.Э. Баумана

Рецензенты: Н.П. Родионов, Ю.С. Саратов

Ефремов А.К.

Е92 Интегрированная система автоматизации математических и научно-тех­ни­че­ских расчетов и моделирования динамических систем MATLAB 5.x: Учеб. пособие по дис­циплинам «Автономные мехатронные устройства управления», «Моделирование автономных мехатронных устройств управления». – М.: Изд-во МГТУ им. Н.Э. Баумана, 2003. – 80 с.: ил.

ISBN 5-7038-2301-3

Рассмотрены возможности современной компьютерной системы MATLAB как одного из мощных средств исследования и проектирования объектов на основе использования их математических моделей. Проанализирован интерфейс системы, охарактеризованы базовые объекты и изложены принципы работы в режимах прямых и символьных вычислений, а также с использованием программирования и графических средств. Большое внимание уделено пакету Simulink. Даны упражнения.

Для студентов IV-V курсов, обучающихся по специальности «Автономные информационные и управляющие системы»

Табл. 4. Ил. 13. Библиогр. 15 назв.

УДК 681.322

ББК 32.81

ISBN 5-7038-2301-3 Ó МГТУ им. Н.Э. Баумана, 2003

ВВЕДЕНИЕ

В настоящее время в структуре университетской системы подготовки специалистов все большее значение приобретают математические методы исследования и проектирования объектов, про­­­блемы адекватности математических моделей, анализа их свойств и правиль­ной интерпретации получаемых результатов вычислений. Современные формы организации учебного процесса ориентированы на использование мощных компьютерных математических па­кетов .

Система MATLAB (от MATrix LABoratory – «мат­ричная ла­бо­ратория») – одна из наиболее популярных и всесторонне ап­ро­би­ро­ван­ных компьютерных систем, пред­назначенных для выполнения инженерных и научных расчетов в среде Windows. Помимо полной (профессиональной) система MATLAB 5.х имеет «студен­че­скую» версию «The Student Edition of MATLAB» , включающую в себя ядро основной версии и три пакета прикладных программ (Symbolic Mathematics Toolbox, Control System Toolbox и Signal Processing Toolbox ), позволяющих соответственно про­водить вычисления в символьной форме, моделировать системы управления и организовывать обработку сигналов с высококачественной визуализацией результатов.

Систему MATLAB образуют следующие пять основных частей: командно-алгоритмический язык высокого уровня; рабочая среда; графическая система; библиотека математических функций; интерфейс прикладных программ (API).

MATLAB – мощная интерактивная программа, отличающаяся высокой сте­­пе­нью интегрированности. Благодаря воз­можностям собственного языка програм­ми­ро­вания система обладает свойст­вом адаптации к конкретным задачам пользователя, обеспечива­ет высокую ско­рость вычислений и представление ре­зуль­та­тов в естественной и удобной числовой, таб­лич­ной или гра­фи­ческой формах.

Встроенный пакет Notebook дает возможность создавать с помощью редактора Word так называемые М-книги , вклю­чающие текст, команды системы MATLAB и результаты их выполнения.

Базовый набор встроенных средств системы весьма широк: специальные симво­лы; арифметические, алгебраические, тригонометрические и специальные функции; функ­ции спектрального анализа и фильтрации; векторные и матричные функции; средства для работы с комплексными числами; операторы пост­ро­ения графиков и прост­­ранственных поверхностей и фигур (возможен многоокон­­­ный графический режим) и т.д. При написании про­­грамм можно использовать встро­ен­ный редактор MATLAB.

MATLAB 5.x включает в себя также Simulink – мощный пакет, предназначенный для моделирования динамических систем различного типа (линейных и нелинейных, аналоговых и дискретных) и для визуализации результатов моделирования .

C численными методами, реализуемыми при решении инженерных задач и служащими теоретической основой команд и программ MATLAB, можно ознакомиться, например, в . Для понимания принципов организации вычислений, в которых участвуют матрицы и векторы, достаточно знаний, полученных при изучении курса высшей математики.

Приведенный ниже материал отражает содержание разработанного автором электронного учебного пособия, которое используется на кафедре «Автономные информационные и управляющие системы» при изучении дисциплин «Автономные мехатронные устройства управления» и «Моделирование автономных мехатронных устройств управления», а также (в упрощенном варианте) в рамках учебно-техно­логи­че­ского практикума (УТП) для студентов 1 курса.

Электронное учебное пособие (ЭУП) представляет собой файл matlab.pdf в формате PDF(portable document format), созданный с помощью текстового редактора Word и системы Adobe Acrobat. В подобных файлах сохраняются все параметры форматирования, атрибуты шрифтов и графика исходных документов. PDF-файлы поддерживаются броузерами Интернет и совместимы с операционными системами Windows и Macintosh.

ЭУП может быть установлено на сервере локальной компьютерной сети или индивидуально на отдельных компьютерах. На Рабочем столе Windows создается папка (например, «Lab_MATLAB»), в которую помещают ярлыки для запуска системы MATLAB и вызова ЭУП, а также ярлык пользовательской папки. Работа органи­зу­ется в двух­оконном режиме: в одно из окон загружается файл ЭУП, а во втором (окне) (системы MATLAB) набираются команды упражнений и программ.

Рабочее окно системы Acrobat Reader 4.0 разделено на две большие части. Первая из них – панель навигации – используется для организации перемещения по разделам документа с помощью закладок (гипертекстовых ссылок). Вторая – панель документа – используется для просмотра последнего. Кроме того, имеются стандартные для Windows элементы окна: заголовок и панель главного меню, а также командная панель инструментов.

Порядок работы с ЭУП:

1. Открыть папку Lab_MATLAB.

2. Вызвать файл ЭУП и открыть рабочее окно MATLAB 5.x.

3. Организовать двухоконную рабочую среду.

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

В тех случаях, когда предусматривается создание m-файлов, последние сохранять только в пользовательской папке (сохранение файлов в папках программы MATLAB и в системных папках запрещается! ).

Результаты работы сохранять на панели документа для просмотра преподавателем.

ИНТЕРФЕЙС системЫ MATLAB

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то