Примеры создания интерфейса в матлаб. Очень часто требуется вводить какие-либо данные в приложение. Для этого существуют специальные области ввода текста. Добавим возможность изменять заголовок графика. Добавление пользовательского ввода

  • 23.04.2019

А.К. ЕФРЕМОВ

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

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

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

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

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

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

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

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

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

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

Ефремов А.К.

Е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

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

· окно запуска приложений (Launch Pad);

· окно команд (Command Window);

· окно истории команд (Command History);

· окно просмотра помощи (Help Browser);

· окно просмотра текущей директории (Current Directory Browser);

· окно просмотра Рабочей области (Workspace Browser);

· окно Редактора данных (Array Editor);

· Редактор m– файлов (Editor/ Debugger);

· Профайлер (Profiler), оценивающий быстродействие команд.

Рис. 4.1. Рабочий стол системы MATLAB.

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

Для управления окнами инструментальных средств предназначены команды меню View . Например, команда Desktop Layout открывает меню, в котором размещаются команды, предназначенные для отображения на Рабочем столе системы различных комбинаций инструментальных средств. Наиболее используемым расположением окон инструментальных средств при работе с системой MATLAB является расположение, принятое по умолчанию. Это расположение при необходимости можно установить командой View→ Desktop Layout→Default .

Для осуществления операций на файловом уровне предназначены команды меню File . Так с помощью подменю New можно открыть приложение для создания нового m – файла (Editor/ Debugger ), динамической модели(SIMULINK ), графического интерфейса пользователя (GUIDE ), а также создать новое графическое окно. Команда Save Workspace as… позволяет сохранять данные, расположенные в рабочей области, на диске в виде двоичных файлов с расширением .mat . Для этих же целей служит и команда save . Например, вызов команды save fname X позволит записать значение переменной X в файл fname.mat . Следует отметить, что возможности сохранения всего текста сессии, формируемой в командном режиме, команда save не дает, для этого служит команда diary . Например, вызов команды diary filename приведет к записи на диск всех команд в строках ввода и полученных результатов в виде текстового файла с именем filename.m. Кроме того, в системе предусмотрена возможность приостановки записи в файл с помощью команды diary off и возобновления ранее прерванной записи с помощью команды diary on.

Для загрузки рабочей области ранее сохраненной сессии предназначена команда load . Например, для загрузки ранее сохраненного файла myf_1.mat следует вызвать команду load myf_1.mat . Если команда load используется в ходе проведения сессии, то произойдет замена текущих значений переменных теми значениями, которые были сохранены ранее в считываемом МАТ-файле. При этом для задания имен загружаемых файлов может использоваться знак *, означающий загрузку всех файлов с определенными признаками. Например, load lab*.mat означает загрузку всех файлов с началом имени lab , например lab_1 , lab_2 , lab_3 и т. д.

Для завершения работы с системой можно использовать команды exit , quit или комбинацию клавиш Ctrl+Q . Если необходимо сохранить значения всех переменных системы, то перед вводом команды exit следует дать команду save . В этом случае команда load после загрузки системы считает значения сохраненных переменных и позволит начать работу с системой с того момента, когда она была прервана.

Команды меню Edit позволяют отменять(Undo ) или возвращать (Redo ) отмененное действие, обмениваться информацией с буфером обмена (Cut– Вырезать , Copy – Копировать , Paste – Вставить , PasteSpecial – Специальная вставка ), полностью выделять содержимое текущего окна (Selectall ), а также очищать окно команд (ClearCommandWindow ), окно истории команд (ClearCommandHistory ) и содержимое рабочей области (ClearWorkspace ).

Команды меню Web позволяют перейти на страницу сайта фирмы разработчика системы MATLAB. Для переключения между окнами m– файлов, окнами библиотек блоков приложения SIMULINK, окнами моделей систем предназначены команды меню Windows . Доступ к справочной информации предоставляют команды меню Help .

Командное окно (Command Window) предназначено для ввода команд и вывода результатов их выполнения в текстовом режиме. Работа с командным окном происходит в диалоговом режиме. Пользователь вводит команду в командную строку после приглашения >> и нажимает Enter , после чего команда передается ядру системы MATLAB. Ядро проверяет команду на синтаксические ошибки и, в случае их отсутствия, выполняет команду и возвращает результат. В противном случае выводится сообщение об ошибке.

По умолчанию в командное окно результат выводится в числовом формате shortG . Изменить формат вывода числа можно с помощью диалогового окна Preferences , которое вызывается одноименной командой меню File . В данном окне после активизации инструментального средства Command Window из раскрывающегося списка поля Numeric format , расположенного внутри группы Text display , следует выбрать необходимый формат. Помимо этого сменить текущий формат можно также с помощью команды format . Список форматов вывода числовых данных представлен в таблице 4.1.

Таблица 4.1. Форматы вывода числовых данных.

Формат Описание Пример
short Короткое число с фиксированной точкой (под дробную часть отводится четыре разряда) 1.3333
long Длинное число с фиксированной точкой (под дробную часть отводится четырнадцать разрядов) 1.33333333333333
shortE Короткое число с плавающей точкой (под дробную часть отводится четыре разряда) 1.3333e+000
longE Длинное число с плавающей точкой (под дробную часть отводится пятнадцать разрядов) 1.333333333333338e+007
shortG Выбирается наилучшая форма представления числа из форматов short и short e
longG Выбирается наилучшая форма представления числа из форматов long и long e
hex Число выводится в шестнадцатеричной форме 4010СВ
bank Формат представления долларов и центов 69.96
+ Символьное обозначение числа: «+» – положительное число; «-» – отрицательное число; пробел – нулевое значение.
rational Число выводится в дробном виде 1/3

Заметим, что задание формата сказывается только на форме вывода чисел и не влечет за собой изменения самого числа.

Переменные и определения новых функций в системе MATLAB хранятся в особой области памяти, именуемой рабочей областью (workspace ). Для быстрого просмотра атрибутов объектов, располагающихся в рабочей области, их редактирования, сохранения и удаления предназначено Окно просмотра рабочей области (Workspace Browser) (рис. 2). В этом окне можно увидеть имя переменной, ее размер, число байтов, занимаемых переменной в памяти, и ее класс.

Конец работы -

Эта тема принадлежит разделу:

Основы работы в среде MATLAB

Основы работы в среде MATLAB.. Цель работы.. uuml получить навыки работы с основными элементами интерфейса системы MATLAB..

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

МАТЛАБ. СОЗДАНИЕ ГРАФИЧЕСКИХ ПРИЛОЖЕНИЙ.

Графические объекты. Графические приложения содержат меню, кнопки, области ввода текста, переключатели, графики.

Указатель на объект. Элементы, из которых состоят графические приложения, являются объектами. Указатель это переменная, в которой хранится адрес (в памяти компьютера) объекта. Пользователь пользуется указателями, как переменными. То есть для совершения действия над элементом графики, пользователь в соответствующей команде указывает имя переменной, означающей данный элемент графики (указатель на данный графический элемент).

Для получения указателей есть функции: gcf возвращает указатель в графическое окно, gca возвращает указатель на оси координат, gco возвращает указатель на графический объект.

Свойства графических объектов. Для установки свойств объектов есть функция set(указатель_на_объект, ‘изменяемое_свойство’, ‘его_новое_значение’, ‘изменяемое_свойство_2’, ‘его_новое_значение_2’).

Для получения свойств объекта есть функция get(указатель_на_объект, ‘свойство’).

Создание программ с визуальным интерфейсом. В окне Command Window следует набрать guide и тогда откроется окно для создания визуального интерфейса.

В нем можно выбрать как уже существующие (Open Existing GUI) так и создание нового интерфейса. Для этого предлагаются несколько наиболее распространенных типовых заготовок, а также возможность создать вообще сначала весь интерфейс (Blank GUI Default).

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

Для редактирования свойств элементов интерфейса, определенный элемент дважды щелкнуть мышкой (левой кнопкой). Откроется редактор свойств (Property Inspector). В нем например имя элемента (под которым он фигурирует в компьютере) называется Tag. Найдя слово Tag в левой колонке, в правой увидим само имя (например text1). Надпись на элементе, которая видна в окне интерфейса, называется String. Найдя в левой колонке слово String, в правой ему соответствует сама надпись (например argument x).

Файл интерфейса имеет расширение.fig.

Подготовка М-файла, соответствующего созданному интерфейсу.

Для того, чтобы интерфейс был связан с выполнением требуемых действий (например, при нажатии на кнопку Calculate происходило бы вычисление функций и вывод их значений в соответствующих окошках) необходимо предварительно описать в М-файле все, что требуется сделать.

М-файл появится на экране после нажатия на соответствующую (четвертую справа) кнопку в ряду кнопок вверху экрана редактора интерфейса. В М-файле, имеющем то же самое название, как и файл интерфейса, уже автоматически сгенерирован текст в соответствии с выбранными пользователем элементами интерфейса. Каждому элементу интерфейса соответствует абзац текста, начинающийся с упоминания названия (Tag) элемента интерфейса.

Поскольку целесообразно начать с описания действий, выполняемых после нажатия на кнопку Calculate, то рассмотрим абзац текста в М-файле, описывающий их. Для этого в файле интерфейса щелкнем кнопку Calculate, открыв Property Inspector, и найдем Tag этой кнопки. Пусть, например, он оказался pushbutton1. Тогда в М-файле найдем абзац, озаглавленный function pushbutton1_Callback(hObject, eventdata, handles)

В этом абзаце (то есть ниже строки его заголовка) укажем что должно произойти после ее нажатия.

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

Команда x=str2double(get(handles.edit1,"String")); означает что в переменную x будет записано число, возвращаемое функцией str2double которая преобразует строку цифр в число. Аргумент этой функции это возвращаемое значение функции get(handles.edit1,"String")); которая обращается к элементу интерфейса handles.edit1 где handles означает обращение к визуальному интерфейсу, edit1 это обозначение конкретного элемента интерфейса.

Команда S=sprintf("%g",f1); означает что в переменную S будет записана строка символов оператором sprintf("%g",f1); который обращается к аргументу f1 и "%g" указывает что аргумент является вещественным числом.

Команда set(handles.edit4,"String",S); означает что в элемент интерфейса edit4 (окошко вывода текста) будет выведена строка символов содержащаяся в переменной S.

Построение графика. Для построения графика предназначена кнопка интерфейса Plot. Логика построения графика такова. Пользователь вводит в окошки ввода значения переменных NumFun (номер функции 1, 2 или 3), NumArg (номер аргумента), MinArg (минимальное значение аргумента, с него начинаются подписи к горизонтальной оси), MaxArg (максимальное значение аргумента, до него идут подписи к горизонтальной оси), StepArg (шаг изменения аргумента). Затем пользователь нажимает кнопку Plot и происходит построение графика в соответствии с введенными данными.

В М-файле опишем соответствующий этой кнопке абзац текста. После нажатия на кнопку вызывается функция VvodArg, считывающая исходные аргументы и возвращающая вектор их значений. Потом вызывается функция PostrGraf. Ей передается вектор аргументов. Она строит график. Для построения графика функция PostrGraf считывает из окошек текстового ввода интерфейса соответствующие переменные. Затем подсчитывает число шагов, вычитая минимальное значение из максимального и деля на величину шага. При этом команда round округляет до целого значения результат деления. NumberSteps=round((MaxArg-MinArg)/StepArg); после этого для каждого элемента массива горизонтальных координат horis точек графика и для каждого элемента массива вертикальных координат vert точек графика определяются значения. Когда все готово, то команда plot строит график и затем на график накладывается координатная сетка.

Вычислить и сохранить результаты. Для того, чтобы вычислить результаты и сразу же сохранить их в файл, предназначена кнопка Calculate & Save.

В соответствующем этой кнопке тексте программы, происходит открытие файла

Uiputfile("Путь к файлу\Имя файла.расширение", "Окно выбора");

Где среди возвращаемых значений p путь, f имя файла. После получения этих возвращаемых значений функции uiputfile, следует объединить эти данные с помощью команды KudaZapisat=strcat(p,f); дальнейшие действия так же, как в ранее рассмотренных упражнениях о работе с файлами.

Построить и сохранить график. Для того, чтобы построить график и сразу же сохранить его, предназначена кнопка Plot & Save. В соответствующем этой кнопке тексте программы сначала происходит построение графика. Можно было бы просто поставить вызов функции, уже описанной выше, которая строит график. Но все же более понятно для изучения, если все переменные вычисляются здесь же. Для контроля строится и сам график.

Затем, когда все переменные, описывающие график, определены, то открываем файл. Функция uiputfile возвращает путь к файлу и имя файла. Затем их объединяем в одну переменную. Записываем в файл количество элементов массивов горизонтальных и вертикальных координат (очевидно они одинакового размера). Затем записываем сами массивы координат точек графика. Потом записываем аргументы, а также номер функции и номер аргумента, для которых построен график. Затем файл закрываем.

Открыть результаты вычислений из файла. Для открытия файла с результатами вычислений предназначена кнопка Open Data. В соответствующем ей месте программы опишем необходимые действия. Функция uigetfile подготавливает данные об открываемом файле для чтения. При этом открывается окно выбора, где определяется имя файла и путь к нему. Эти данные являются возвращаемыми значениями для функции uigetfile. Получив их, объединяем их в одну переменную OtkudaChitat. Затем открываем файл. После открытия файла, считываем интересующие нас данные из файла в переменные с соответствующими названиями. Необходимо теперь вывести значения этих переменных в соответствующие окошки текстового вывода в интерфейсе. Для этого используем функцию VivodRes и ранее не использовавшуюся функцию VivodArgumentovNaEkran, которую необходимо описать выше описания кнопки.

Открыть график и данные из файла. Открытие данных, необходимых для построения графика, из файла осуществляется кнопкой Open Data & Plot. В соответствующем ей тексте программы логика действий примерно такая же как и при открытии результатов вычислений из файла. После получения всех необходимых данных из файла, осуществляется построение графика. Кроме того, выводятся данные об исходных аргументах и, кроме того, о номере функции и номере аргумента, для которых построен график. При желании можно также доработать это упражнение и выполнить подписи к осям графика в соответствии с названиями аргументов и функций.

В 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 эта задача очень сильно упростилась, за это большое спасибо разработчикам этого тулбокса.

В этой категории мы рассмотрим эффективные действия, необходимые для работы с
программой MATLAB, а также для подготовки и презентации результатов сессии
этой программы. Здесь будут рассматриваться возможности интерфейса
программы MATLAB и использование М-файлов. Мы познакомим вас с новой
командой MATLAB 7, командой publish, с помощью которой осуществляется
форматированный вывод. Мы также дадим вам несколько простых советов по отладке
ваших М-файлов.


Matlab интерфейс программы

Начиная с версии 6, программа MATLAB имеет интерфейс, который называется
Рабочий стол программы MATLAB (далее - Рабочий стол). В этот интерфейс
входит окно Command Window (Командное окно), рассмотренное в главе 2.

Рабочий стол

По умолчанию Рабочий стол включает в себя четыре окна:
окно Command Window (Командное окно) в правой части Рабочего стола, окна
Current Directory (Текущий каталог) и Workspace (Рабочая область) в верхней
левой части и окно Command History (История команд) в нижней левой части.
Обратите внимание, что для переключения между окнами Current Directory
(Текущий каталог) и Workspace (Рабочая область) имеются вкладки,
повторяющие название окна. Вы можете управлять отображением окон с помощью
меню Рабочего стола (в версии 6 меню View (Вид)), расположенного в верхней
части Рабочего стола, кроме того, вы можете регулировать размеры окон
путем перетаскивания границ окон с помощью мыши. Окно Command Window
(Командное окно) представляет собой окно, в котором вы вводите команды и
инструкции, заставляющие программу MATLAB вычислять, рисовать и
выполнять множество других впечатляющих вещей, которые описываются в этой
книге. Остальные окна мы рассмотрим в особом разделе далее в этом уроке.
Рабочий стол включает в себя строку меню и панель инструментов. Панель
инструментов содержит значки (ярлыки), предоставляющие доступ к некоторым
элементам программы, которые вы можете выбрать через меню. Многие
элементы меню имеют также клавиатурные комбинации, которые отображаются справа
от пункта меню. Некоторые из этих клавиатурных комбинаций зависят от вашей
операционной системы, в основном мы не будем их упоминать. Тем не менее, вы
можете счесть эту возможность полезной и использовать клавиатурные
комбинации в своей работе для вызова пунктов меню, которые вами наиболее часто
применяются.

Каждое окно на Рабочем столе содержит две маленькие кнопки в верхнем правом
углу. Одна из них, имеющая вид [х], позволяет закрыть окно, а другая, в виде
изогнутой стрелки, позволяет открепить окно от Рабочего стола (вернуть окно
обратно на Рабочий стол вы можете, выбрав команду меню Desktop => Dock (Рабочий
стол => Закрепить) на открепленном окне или щелкнув на изогнутой стрелке,
расположенной в строке меню).

  • Хотя Рабочий стол предоставляет некоторые новые возможности и общий интерфейс для версий программы MATLAB под управлением операционных систем Windows и Unix, тем не менее, программа с открытым Рабочим столом может работать гораздо медленнее, чем базовый интерфейс окна Command Window (Командное окно), особенно на старых компьютерах. Чтобы работать в программе MATLAB со старым интерфейсом, необходимо запустить программу с помощью команды matlab -nodesktop

Рабочая область

В главе 2 вы-познакомились с командами clear и whos, которые можне-исполь-
зовать для отслеживания переменных, заданных вами в течение сессии
программы MATLAB. Все переменные находятся в области памяти компьютера,
называемой «Рабочей областью». Полный перечень заданных переменных отображается
в одноименном окне Workspace (Рабочая область). Отобразить это окно вы
можете, введя команду workspace, или, при открытом Рабочем столе, щелкните
мышью на вкладке Workspace (Рабочая область) в нижней части окна Current
Directory (Текущий каталог). Окно Workspace (Рабочая область) содержит список
текущих переменных и их размеры (но не значения переменных). Если вы
дважды щелкнете мышью на переменной, значение переменной будет отображено в
новом окне, называемом Array Editor (Редактор массива), которое вы можете
использовать для редактирования отдельных элементов в векторах и матрицах.
(Это окно можно также открыть, введя команду openvar и имя интересующей
вас переменной.) Вы можете удалить переменную из «рабочей области», выделив
ее в окне Workspace (Рабочая область) и выбрав команду меню Edit => Delete
(Редактирование => Удалить).
Если вам необходимо прервать сессию и вы не хотите впоследствии вычислять
все повторно, то вы можете сохранить текущую «рабочую область» с помощью
команды save. Например, после ввода команды save xnyfile будут сохранены
значения всех заданных текущих переменных в файле с именем myfile.mat. Чтобы
сохранить только значения переменных X и Y, введите следующее:

>> save myfile X Y

Когда вы начинаете новую сессию и желаете восстановить значения этих
переменных, используйте команду load. Например, введение команды load myfile
восстановит значения всех переменных, сохраненных в файле myfile.mat.

  • По умолчанию переменные сохраняются в двоичном формате, который является обычным для программы MATLAB, но вы можете также сохранять и загружать данные (команды save и load) в текстовом формате ASCII. Чтобы узнать подробности, обратитесь к онлайновой справке для этих команд. Эта возможность может быть полезна для обмена данными с другими программами.

Текущий каталог и путь поиска

Новые файлы, которые вы создаете в программе MATLAB, будут храниться в
вашем текущем каталоге. Имя этого каталога отображается на панели
инструментов Рабочего стола, а файлы и подкаталоги, которые содержит текущий каталог,
отображаются в окне Current Directory (Текущий каталог). Отобразить имя
текущего каталога вы можете также с помощью команды pwd («print working
directory» (Отобразить рабочий каталог)) в окне Command Window (Командное
окно), и можете также получить список содержимого текущего каталога, введя
команду dir или Is.

  • Термин «папка» в настоящее время употребляется более широко, чем «каталог»; для файловой системы компьютера между ними нет разницы. Мы будем использовать термин «каталог», поскольку программа MATLAB использует этот термин в своей документации. Однако в интерфейсе программы иногда используется и термин «папка», например, в столбце File Type (Тип файла) в окне Current Directory (Текущий каталог).

У вас может возникнуть желание сменить текущий каталог по умолчанию, или вы
захотите держать отдельные каталоги для различных проектов. Вы можете
изменить текущий каталог в программе MATLAB, используя команду cd, окно Current
Directory (Текущий каталог) или открывающийся список Current Directory
(Текущий каталог) на панели инструментов Рабочего стола. Вы можете ввести имя
каталога в это поле и нажать клавишу (Enter). выбрать каталог, которым вы
пользовались ранее, щелкнув мышью на кнопке со стрелкой в правой части поля, или
выбрать каталог, щелкнув мышью на значке (...) Browse for folder (Обзор папок),
расположенном справа от поля.
Например, на компьютере под управлением операционной системы Windows
текущим каталогом по умолчанию является подкаталог с именем work,
расположенный в каталоге установки программы MATLAB; например, это может быть
каталог C:\MATLAB7\work. Вы можете создать новый каталог, скажем, ProjectA,
внутри него, введя команду mkdir ProjectA. Вы можете также щелкнуть правой
кнопкой мыши в окне Current Directory (Текущий каталог) и выбрать команду
меню New => Folder (Создать => Папка) или щелкнуть мышью на значке New folder
(Новая папка), расположенном на панели инструментов этого окна. Затем
введите команду cd ProjectA или дважды щелкните на ней мышью в окне Current
Directory (Текущий каталог), чтобы сделать этот каталог вашим текущим
каталогом. После этого вы сможете работать с файлами данного каталога в текущей
сессии программы MATLAB.

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