Иллюстрированный самоучитель по 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..

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

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

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

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

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

Создадим на поверхности графического окна командную кнопку:

uicontrol (hF1," Style","pushbutton",...

"String", "MyButton1",...

"Position", [ 10 10 70 30 ]);

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

В функции uicontrol, создающей элемент управления, самым важным параметром после описателя родительского окна является свойство "Style", так как оно задает тип управляющего элемента. Задав для этого свойства значение "pushbutton", мы создали именно кнопку.

Имена двух других свойств говорят сами за себя: String задает надпись на поверхности кнопки (в данном случае это MyButton1), a Position имеет значением вектор-строку из четырех чисел и задает положение управляющего элемента относительно левого нижнего угла графического окна. Если более конкретно, то положение левого нижнего угла кнопки относительно левого нижнего угла графического окна задают первые два элемента числовой строки. Третий же элемент этой строки задает ширину кнопки, а четвертый высоту кнопки.

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

Уфимский государственный авиационный технический университет

Кафедра авиационного приборостроения

ИНТЕРФЕЙС СИСТЕМЫ MATLAB

Методические указания

к лабораторной работе по дисциплинам

«Основы автоматического управления»

и «Цифровая обработка сигналов»

Уфа 2006

Составитель: В.И. Петунин

УДК 004.45(07)

ББК 32.973.26-018.2(я7)

Интерфейс системы MATLAB: Методические указания к лабораторной работе по дисциплинам «Основы автоматического управления» и «Цифровая обработка сигналов» / Уфимск. гос. авиац. техн. ун-т; Сост. В.И. Петунин. – Уфа, 2006. – 29 с.

В методических указаниях приведено описание лабораторной работы, во время которой студенты знакомятся с принципами построения и особенностями функционирования системы MatLab. Рассматривается применение этой системы для моделирования линейных и нелинейных динамических систем (пакеты Control System Toolbox и SimuLink) и цифровой обработки сигналов (пакет Signal Processing Toolbox).

Предназначены для студентов, обучающихся по направлению подготовки дипломированных специалистов 200100 «Приборостроение» и по специальности 200103 «Авиационные приборы и измерительно-вычислительные комплексы».

Табл. 0. Ил. 7. Библиогр.: 8 назв.

Рецензенты: д-р техн. наук, проф. Васильев В.И.

канд. техн. наук, доц. Юлдашбаев Ш.А.

©Уфимский государственный

авиационный технический университет, 2006

1. Цель работы 4

2. Теоретическая часть 4

2.1. Введение 4

2.2. Интерфейс MatLab 6

2.3. Исследование линейных стационарных систем (пакет Control System Toolbox) 12

2.4. Моделирование нелинейных систем (пакет SimuLink) 16

2.5. Цифровая обработка сигналов (пакет Signal Processing Toolbox) 21

3. Задание 23

4. Описание лабораторной установки 24

5. Порядок выполнения работы 24

6. Требования к отчету 24

7. Контрольные вопросы 25

Библиографический список 25

Приложение 27

Лабораторная работа

ИНТЕРФЕЙС СИСТЕМЫ MatLab

1. Цель работы

Целью данной работы является:

1. изучение назначения, состава и интерфейса системы MatLAB версий 5.Х;

2. ознакомление с демонстрационными примерами системы MatLAB;

3. изучение пакетов Control и SimuLink (моделирования линейных и нелинейных динамических систем);

4. изучение пакета Signal (цифровой обработки сигналов).

2. Теоретическая часть

2.1. Введение

Система MatLAB (сокращение от MATrix LABoratory – МАТричная ЛАБоратория) разработана фирмой The MathWorks, Inc. (США, г. Нейтик, штат Массачусетс) в конце 70-х годов 20 века и является интерактивной системой для выполнения инженерных и научных расчетов, ориентированной на работу с массивами данных . Система использует математический сопроцессор и допускает возможность обращения к программам, написанным на языках FORTRAN, C и C++.

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

Основным объектом системы MatLAB является прямоугольный массив, который допускает комплексные элементы и ввод матриц без явного указания их размеров. Система позволяет решать многие вычислительные задачи за значительно меньшее время, нежели то, которое необходимо для написания соответствующих программ на языках FORTRAN, BASIC и C.

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

Работа в среде MatLAB может осуществляться в двух режимах:

    В режиме калькулятора, когда вычисления производятся непосредственно после набора очередного оператора или команды MatLAB; при этом значения результатов вычисления могут присваиваться некоторым переменным, либо результаты получаются непосредственно, без присвоения (как в обычных калькуляторах);

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

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

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

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

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

В 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:

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Точку с запятой; для обозначения окончания каждой строки окружать весь список элементов квадратными скобками, . Чтобы ввести матрицу Дюрера просто напишите: А = MATLAB отобразит матрицу, которую мы ввели, A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 Если мы ввели матрицу, то она автоматически запоминается средой MATLAB. И мы можем к ней легко...