Интерфейс системы matlab. Заметки про Matlab. Создание графического интерфейса пользователя (GUI Matlab)

  • 21.07.2019

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

Урок №5.

Пользовательский интерфейс MATLAB

    Общая характеристика пользовательского интерфейса

    Панель инструментов

    Операции с буфером обмена

    Браузеры рабочей области и файловой структуры

    Запуск приложения Simulink

    Вызов справки по системе MATLAB

    Меню системы MATLAB

    Работа с файлами

    Настройка MATLAB и функция path

    Обеспечение печати

    Интерфейс редактора и отладчика т-файлов

    Файлы сценариев и функций

    Интерфейс графических окон

    Общение MATLAB с операционной системой

2. Общая характеристика пользовательского интерфейса

Общая характеристика пользовательского интерфейса

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

Имеются и типовые средства приложений Windows 95/98/Me/2000/NT4 - меню и панель инструментов. Но они по-прежнему выглядят намного скромнее, чем у большинства современных приложений Windows. Видимо, так и должно быть - чем серьезнее математическая система, тем меньше она нуждается в использовании всевозможных кнопок на панели инструментов и тем скромнее может быть ее главное меню.

Рис. 5.1. Окно системы MATLAB

И, тем не менее, пользовательский интерфейс в системе MATLAB 6.0 кардинально переработан. Это видно из рис. 5.1, на котором показано основное полностью открытое окно системы MATLAB 6.0 так, как оно предстает перед пользователем при запуске.

Главными отличиями от весьма скромного интерфейса прежних версий системы MATLAB у новой версии стали:

    позиция Web меню, открывающая доступ к Интернет ресурсам фирмы Math-Works Inc.;

    меню используемых разделов текущей папки файловой системы Current Directory в конце панели инструментов справа;

    окно с вкладками Launch Path (Доступ к частям системы) и Workspace (Рабочая область) в левой части основного окна (сверху);

    окно с вкладками Command History (Обзор ранее исполненных команд) и Current Directory (Текущая папка) в левой части основного окна (сверху)

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

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

1.gif

Изображение:

3. Упрощенный интерфейс

Упрощенный интерфейс

Сделав решительный шаг в обновлении интерфейса, разработчики MATLAB 6.0, похоже, испугались недовольства старых пользователей, уже привыкших работать со скромным и отчасти даже ущербным интерфейсом прежних версий MATLAB. А потому они ввели возможности изменения интерфейса системы, в том числе представления его в добром старом виде. Все эти возможности реализуются командами в позиции View (Вид) меню. На рис. 5.1 вкладка View показана в открытом состоянии.

Теперь пользователь может настраивать вид интерфейса и по-разному располагать его окна. В частности, исполнив команду View > Desktop Layout > Command Window Only (Только командное окно) можно получить «старый» вид интерфейса - рис. 5.2. Теперь о новациях в интерфейсе напоминают лишь позиция меню Web и доступ из панели инструментов к папкам файловой системы. Кстати, окно доступа к папкам файловой системы также показано на рис. 5.2.

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

Для редактирования и отладки m-файлов MATLAB имеет встроенный современный редактор, интерфейс которого выполнен в лучших традициях Windpws-приложений. В том же стиле выполнены окно просмотра ресурсов памяти, окно просмотра путей файловой системы, справочник по возможностям системы и демонстрационные программы. Редактор графики и окно графики со средствами редактирования рисунков уже были описаны.

Рис. 5.2. Упрощенный интерфейс системы MATLAB 6.0

2.gif

Изображение:

4. Работа с панелью инструментов

Работа с панелью инструментов

Средства панели инструментов

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

Рис. 5.3. Часть окна системы MATLAB с меню и панелью инструментов

Прежде всего перечислим назначение всех кнопок панели инструментов:

    New M-file (Новый m-файл) - выводит пустое окно редактора m-файлов;

    Open file (Открыть файл) - открывает окно для загрузки m-файла;

    Cut (Вырезать)- вырезает выделенный фрагмент и помещает его в буфер;

    Сору (Копировать)- копирует выделенный фрагмент в буфер;
    Paste (Вставить)- переносит фрагмент из буфера в текущую строку ВВОДА

    Undo (Отменить)- отменяет предшествующую операцию;

    Redo (Повторить) - восстанавливает последнюю отмененную операцию;

    Simulink - открывает окно браузера библиотек Simulink;

    Help (Помощь)- открывает окно справки.

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

    назначении кнопок говорят и всплывающие подсказки, появляющиеся, когда курсор мыши устанавливается на соответствующую кнопку.

    ни имеют вид желтого прямоугольника с текстом короткой справки - см. пример такой подсказки на рис. 2.12 у кнопки Help панели инструментов. Любопытно отметить, что доступ к браузерам рабочей области и файловой системы из панели инструментов убран.

3.gif

Изображение:

5. Вызов окна открытия нового файла

Вызов окна открытия нового файла

Кнопка New M-file открывает окно редактора/отладчика m-файлов. Это окно показано на рис. 5.4. Работу с этим средством мы обсудим позже.

Рис. 5.4. Пустое окно редактора/отладчика m-файлов

По умолчанию файлу дается имя Untitled (безымянный), которое впоследствии (при записи файла) можно изменить на другое, отражающее тему задачи. Это имя отображается в титульной строке окна редактирования m-файла, которое размещается в окне редактора/отладчика и видно на рис. 5.4. В редакторе/отладчике можно редактировать несколько m-файлов, и каждый из них будет находиться в своем окне редактирования, хотя активным может быть только одно окно, расположенное поверх других окон.

Примечание

Обратите внимание, что панель инструментов является контекстно-зависимой. Для редактора/отладчика m-файлов она имеет несколько иной набор инструментов, чем для окна командного режима работы (см. рис. 5.1). Позже мы уточним эти отличия.

4.gif

Изображение:

6. Вызов окна загрузки имеющегося файла

Вызов окна загрузки имеющегося файла

Кнопка Open file (Открыть файл) служит для загрузки в редактор/отладчик ранее созданных m-файлов, например входящих в пакет расширения (Toolbox) системы или разработанных пользователем. Она открывает окно, которое является типичным элементом интерфейса Windows-приложений и показано на рис. 5.5 внутри окна редактора/отладчика m-файлов.

Рис. 5.5. Окно загрузки файла в окне редактора/отладчика

В окне загрузки файлов с помощью раскрывающегося списка Папка и вертикальной полосы прокрутки можно «пройтись» по всем дискам, папкам и файлам. Чтобы выбрать нужный файл для загрузки, его требуется выделить мышью. Выбор завершается двойным щелчком на имени файла, нажатием клавиши Enter или щелчком на кнопке Открыть. Любое из этих действий приводит к загрузке документа в текущее окно системы. Кнопка Отмена или клавиша Esc позволяет отказаться от загрузки.

Примечание

Пусть читателя не волнуют внезапно появившиеся русскоязычные надписи на элемен-тах интерфейса окна загрузки файлов. Они говорят лишь о том, что используется окно стандартной русифицированной операционной системы Windows 95/98/Ме, которая обычно устанавливается у наших пользователей.

Для вызова одного из ранее использовавшихся документов достаточно щелкнуть мышью на его имени в списке, находящемся над командой Exit (Выход) в меню File. После загрузки файла с документом его текст появляется в текущем окне - на рис. 5.5 показан текст выбранного файла graf2d.rn (демонстрация возможностей двумерной графики). Его можно начинать редактировать или запускать на исполнение.

5.gif

Изображение:

7. Операции с буфером обмена

Операции с буфером обмена

Кнопки Cut (Вырезать), Сору (Копировать) и Paste (Вставить) реализуют наиболее характерные команды работы с буфером обмена (Clipboard). Первые две операции относятся к выделенным фрагментам сессии или текста m-файлов (если они выполняются в окне редактора/отладчика). Для выделения объектов можно использовать мышь, перемещая курсор по тексту при нажатой левой кнопке, или клавиши со стрелками в комбинации с клавишей Shift.

На рис. 5.6 показан пример выделения содержимого матрицы М в окне документа MATLAB. Эта матрица формируется функцией magiс (n) и называется магической, поскольку сумма элементов любого столбца, любой строки и даже любой диагонали равна одному и тому же числу - 34 для матрицы при n=4.

Рис. 5.6. Окно документа с выделенным содержимым матрицы М

Команда Cut (Вырезать) осуществляет вырезание выделенного фрагмента и размещение его в буфере. При этом вырезанный фрагмент удаляется из текста документа. Команда Сору (Копировать) просто копирует выделенный фрагмент в буфер, сохраняя его в тексте. Команда Paste (Вставить) вызывает объект из буфера (сохраняя объект в буфере) и помещает копию объекта на место в документе, указанное текстовым курсором. Эти операции реализуются как соответствующими кнопками, так и командами меню Edit (Редактировать). В MATLAB можно использовать контекстное меню, появляющееся при нажатии правой кнопки мыши. Например, установив курсор мыши на выделенный фрагмент матрицы М и нажав правую кнопку, можно увидеть меню, показанное на рис. 5.6. В нем, кстати, дублируется позиция с командой Сору (Копировать). Есть и ряд других доступных в данный момент команд. Обратите внимание, что в момент подготовки магической матрицы М ее имя появилось в окне браузера рабочей области - в правой части экрана. При этом матрица представляется изображением таблицы.

Содержимое буфера можно перенести в строку ввода, в окно редактора-отладчика m-файлов или даже в другое приложение. Допустим, мы хотим создать матрицу M1 с содержимым, которое размещено в буфере. Для этого достаточно набрать М1=[ и, нажав правую клавишу мыши, выбрать из появившегося меню команду Paste (Вставить). Этот момент фиксирует рис. 5.7.

Рис. 5.7. Подготовка к вставке данных матрицы из буфера

Исполнив команду Paste, можно увидеть, что данные хранящейся в буфере матрицы появятся после открывающей квадратной скобки. Для создания матрицы Ml остается ввести закрывающую квадратную скобку ] и нажать клавишу Enter. На рис. 5.8 показано, как создается матрица Ml, по содержимому аналогичная матрице М.

Рис. 5.8. Пример создания матрицы M1 с содержимым, взятым из буфера

Разумеется, этот пример является чисто учебным. Не обращаясь к помощи буфера, можно было бы просто записать М1=М. Или М2=М - именно так на рис. 5.8 задана матрица М2. Однако зачастую операции с буфером весьма полезны. Так, все примеры в тексте этой книги получены переносом выделенных фрагментов соответствующей сессии в окно текстового редактора Microsoft Word. Возможен и обратный перенос - записанных в документах редактора Microsoft Word примеров в командную строку MATLAB для исполнения примеров.

Примечание

Обратите внимание на команду Select All в контекстном меню. Эта команда позволяет выделить весь текст текущей сессии-А команда Clear Session очищает окно от содержимого данной сессии.

6a.gif

Изображение:

6b.gif

Изображение:

7.gif

Изображение:

8.gif

Изображение:

8. Отмена результата предшествующей операции

Отмена результата предшествующей операции

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

9. Запуск приложения Simulink

Запуск приложения Simulink

Кнопка Simulink панели инструментов (или команда simulink из строки ввода) запускает одно из самых мощных приложений системы MATLAB - программу моделирования систем, построенных из типовых блоков. Эта система (пакет инструментов (toolbox) Simulink) в данной книге подробно не описывается (см. и описание предшествующей версии в), так что пока отметим лишь, что щелчок на указанной кнопке выводит окно библиотеки типов блоков (рис. 5.9 слева).

В MATLAB 6.0 применена новая версия Simulink 4 с библиотекой блоков Block Library. Эта библиотека содержит существенно расширенный набор компонентов - блоков, объединенных в тематические группы. Чтобы упростить поиск и выбор блоков, окно библиотеки организовано в виде браузера библиотеки, очень напоминающего Проводник (Windows Explorer) операционной системы Windows 95/98/ Me/2000/NT4. Окно браузера показано на рис. 5.9 слева. В нем видно дерево моделей с раскрывающимися ветвями-блоками. Изображение компонентов выделенного блока дерева показывается в поле просмотра в правой части окна браузера.

Для загрузки модели какой либо системы или устройства (в том числе из числа демонстрационных примеров) достаточно активизировать кнопку Ореn.(Открыть), имеющую вид открывающейся папки. При этом появится окно редактора модели программы Simulink, которое показано на рис. 5.9 справа. Это стандартное окно загрузки файлов, принятое во всех приложениях операционной системы Windows 95/98/Ме/2000. В нем можно выбрать и загрузить файл нужной модели или демонстрационного примера.

Рис. 5.9. Окно браузера библиотечных блоков программы Simulink

Рис. 5.10 показывает загруженную в Simulink модель аттрактора Лоренца - демонстрационный файл lorenz. Здесь видно окно с загруженной моделью (она находится слева) и окна встроенного виртуального осциллографа - одного из многих виртуальных регистрирующих устройств, которые имеются в составе Simulink.

Рис. 5.10. Пример работы программы Simulink

Кнопка с треугольником в панели инструментов Simulink запускает процесс моделирования. О его результатах можно судить по показаниям регистрирующих приборов - в частности, упомянутого уже осциллографа. В его окнах появляются сложные и довольно хаотические колебания, характерные для аттрактора Лоренца. Параметры каждого блока можно уточнить или задать с помощью окна параметров блока. На рис. 5.10 снизу справа показано такое окно для блока Beta*z - множительного устройства. Большинство установок параметров блоков довольно очевидны - даже несмотря на то, что их параметры указаны на английском языке.

Кнопка Create a new model (Создать новую модель) в окне библиотек Simulink открывает чистое окно редактора моделей. Любой блок можно перетащить мышью в это окно. Введенные таким образом блоки соединяются друг с другом линиями, для чего используется мышь, с помощью которой указываются точки соединений и осуществляется протягивание соединительных линий.

Таким образом, легко создать новую модель системы. Однако описание подготовки новых моделей для Simulink в тематику данной книги не входит, поскольку книга посвящена лишь описанию базовой системы MATLAB. Заинтересованные читатели могут обратиться к изданиям. Тем не менее приведенные сведения позволят заинтересованному читателю начать работу с Simulink.

9.gif

Изображение:

10.gif

Изображение:

10. Вызов справки MATLAB

Вызов справки MATLAB

Последняя кнопка панели инструментов Help (Помощь) открывает окно с перечнем разделов справочной системы. Это окно было показано на рис. 4.8. В уроке 4 мы подробно ознакомились с работой со справочной системой, так что на этом можно закончить описание средств системы MATLAB, доступ к которым обеспечивает панель инструментов.

11. Средства контроля рабочей области и файловой системы

Средства контроля рабочей области и файловой системы

Браузер рабочей области

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

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

Open (Открыть). Объект можно открыть и двойным щелчком на его имени в списке. Откроется окно редактирования массива Array Editor, показанное на рис. 5.11 применительно к матрице М2.

Рис. 5.11. Пример просмотра содержимого матрицы

Окно редактирования матрицы дает удобный доступ для редактирования любого элемента матрицы по правилам, принятым при работе с электронными таблицами. [ В уроке 23 показано, как использовать Microsoft Excel для ввода матриц. - Примеч. ред. ] . Основное из них - быстрый доступ к любому элементу матрицы. Можно также менять тип значений элементов, выбирая его из списка, предоставляемого меню Numeric format (Формат чисел). В окне также выводятся данные о числе строк и столбцов матрицы.

11.gif

Изображение:

11b.gif

Изображение:

12. Команды просмотра рабочей области who и whos

Команды просмотра рабочей области who и whos

Следует отметить, что просмотр рабочей области возможен и в командном режиме, без обращения к браузеру Workspace Browser. Команда who выводит список определенных переменных, а команда whos - список неременных с указанием их размера и объема занимаемой памяти. Следующие примеры иллюстрируют действие этих команд:

» V=:

Your variables are:

double array

double array

double array

Если вы хотите просмотреть данные одной переменной, например М, следует использовать команду whos M. Естественно, просмотр рабочей области с помощью браузера рабочей области (Workspace Browser) более удобен и нагляден.

13. Браузер файловой структуры

Браузер файловой структуры

Для просмотра файловой структуры MATLAB служит специальный браузер файловой системы (Path Browser), который запускается при обычной загрузке системы. Если был установлен упрощенный интерфейс, то для запуска браузера файловой системы используется окно Current Directory (Текущая папка). На рис. 5.12 в левой части показано окно этого браузера.

Нетрудно заметить, что браузер файловой системы построен по типу общеизвестного Проводника (Explorer) операционных систем Windows 95/98/Me/2000/NT4. Окно дает возможность просмотра файловой системы ПК и выбора любого файла. Для примера на рис. 5.12 показан выбор m-файла функции синуса.

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

Рис. 5.12. Пример окна браузера Path Browser

Примечание

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

Таким образом, браузер просмотра файловой структуры позволяет детально ознакомиться с файловой системой MATLAB и вывести любой из m-файлов или файлов демонстрационных примеров для просмотра, редактирования и модификации.

12.gif

Изображение:

14. Работа с меню

Работа с меню

Команды, операции и параметры

Открытая позиция строки меню содержит различные операции и команды. Выделенная команда или операция исполняется при нажатии клавиши Enter (Ввод). Выполнение команды можно также осуществить щелчком мыши или нажатием на клавиатуре клавиши, соответствующей выделенному символу в названии команды.

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

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

15. Меню системы

Меню системы

Перейдем к описанию основного меню системы MATLAB 6.0. Это меню (см. рис. 5.1 сверху) выглядит довольно скромно и содержит всего шесть пунктов:

    File - работа с файлами;

    Edit - редактирование сессии;

    View - вывод и скрытие панели инструментов;

    Web - доступ к Интернет-ресурсам;

    Windows - установка Windows-свойств окна;

    Help - доступ к справочным подсистемам.

По сравнению с версией 5.3.1 добавлена единственная позиция Web, дающая доступ к Интернет-ресурсам, описанный в уроке 1.

16. Подменю File

Подменю File

Подменю File содержит ряд операций и команд для работы с файлами. Оно показано на рис. 5.13. Число операций и команд значительно сокращено по сравнению с тем же меню у предшествующей версии системы MATLAB.

Теперь меню File содержит следующие операции:

    New - открывает подменю с позициями:

    M-file - открытие окна редактора/отладчика m-файлов;

    Figure - открытие пустого окна графики;

    Model - открытие пустого окна для создания Simulink-модели;

    GUI - открытие окна разработки элементов графического интерфейса пользователя.

    Open - открывает окно загрузки файла.

    Close Command Windows - закрывает окно командного режима работы (оно при этом исчезает с экрана).

    Import data - открывает окно импорта файлов данных.

    Save Workspace As... - открывает окно записи рабочей области в виде файла с заданным именем.

    Set Path - открывает окно установки путей доступа файловой системы.

    Preferences... - открывает окно настройки элементов интерфейса.

    Print... - открывает окно печати всего текущего документа.

    Print Selection... - открывает окно печати выделенной части документа.

    Exit - завершает работу с системой.

Рис. 5.13. Меню файловых операций File

13.gif

Изображение:

17. Открытие окон для подготовки новых файлов

Открытие окон для подготовки новых файлов

Команда New, как отмечено, открывает окна для подготовки новых файлов. Для трех типов файлов (m-файлы, графические файлы и файлы Simulink-моделей) окна их редакторов уже описывались. Новой является позиция GUI подменю File. Она открывает окно редактора элементов пользовательского интерфейса, показанное на рис. 5.14.

Рис. 5.14. Окно редактора элементов GUI

К подробному описанию этого окна мы еще вернемся. А пока отметим, что работа с редактором довольно очевидна.

14.gif

Изображение:

Команды Open... (Открыть) и Import data... (Импортировать данные) выводят стандартные окна (см. рис. 5.5) для загрузки m-файлов и файлов данных. Команда Save Workspace As... (Сохраните рабочую область как...) открывает стандартное окно записи файлов с расширением.mat. Они хранят определения переменных, массивов, функций пользователя и иных объектов, созданных в ходе текущей сессии работы. Эти команды в силу общеизвестности в более подробных комментариях не нуждаются.

19. Установка путей доступа файловой системы

Установка путей доступа файловой системы

Команда Set Path... (Установить путь) открывает окно редактора путей доступа файловой системы. Это окно показано на рис. 5.15.

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


Рис. 5.15. Окно редактора путей доступа файловой системы

15.gif

Изображение:

20. Настройка элементов интерфейса

Настройка элементов интерфейса

Окно настройки элементов интерфейса представлено на рис. 5.16.


Рис. 5.16. Окно настройки элементов интерфейса

Интерфейс MATLAB 6.0 стал настолько удобным и даже изысканным, что мало вероятно, что кому-либо захочется менять его в мере, большей, чем это предусмотрено командами подменю View [ Это может потребоваться даже для настройки под особенности операционной системы. Например, для уточнения расположения вашей программы чтения PDF-файлов, вам, возможно, придется вручную удалить апострофы из пути к ее исполняемому файлу. - Примеч. ред. ]. Однако такая возможность есть - команда Preferences... (Предпочтения) выводит окно детальной настройки элементов интерфейса (рис. 5.16). В левой части этого окна имеется древообразный список элементов интерфейса системы, а в правой части-поле задания параметров для выбранного типа элементов. Поскольку изменение параметров производится обычно очень редко, мы не будем детально рассматривать это окно. Заинтересованный читатель наверняка разберется с нужными ему параметрами самостоятельно.

Рис. 5.17. Окно печати

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


Рис. 5.18. Окно свойств печати

Следует отметить, что окна печати - типичные для операционной системы Windows 95/98/Me/2000/NT4. Их вид зависит от примененного принтера, точнее от установленного для него драйвера. Установки окон довольно очевидны, поэтому более подробно они не описываются. Обратите внимание на полную русификацию окна печати - это связано с тем, что использовалась локализованная для России версия операционной системы Windows 98. В то же время окно свойств принтера русифицировано лишь частично.

22. Меню Edit - средства редактирования документов

Меню Edit - средства редактирования документов

Меню Edit (рис.5.19) содержит операции и команды редактирования, типичные для большинства приложений Windows:

    Undo (Отменить) - отмена результата предшествующей операции;

    Redo (Повторить) - отмена действия последней операции Undo;

    Cut (Вырезать) - вырезание выделенного фрагмента и перенос его в буфер;

    Сору (Копировать) - копирование выделенного фрагмента в буфер;
    О Paste (Вставить) - вставка фрагмента из буфера в текущую позицию курсора;

    Clear (Очистить) - операция очистки выделенной области;

    Select All (Выделить) - выделение всей сессии;

    Delete (Стереть) - уничтожение выделенного объекта;

    Clear Command Windows (Очистить командное окно) - очистка текста сессии (с сохранением созданных объектов);

    > M-file из меню File. После этого в окне редактора можно создавать свой файл, пользоваться средствами его отладки и запуска. Перед запуском файла его необходимо записать на диск, используя команду Filе > Save as в меню редактора.

    Рис. 5.20. Редактор/отладчик файлов при записи файла на диск

    На рис. 5.20 показано окно редактора/отладчика с текстом простого файла в окне редактирования и отладки.

    Подготовленный текст файла (это простейшая и наша первая программа на языке программирования MATLAB) надо записать на диск. Для этого используется команда Save As, окно которой видно на рис. 5.20 внутри окна системы редактора/ отладчика. Работа с окном команды Save As уже описывалась.

    После записи файла на диск можно заметить, что команда Run в меню Tools (Инструменты) редактора становится активной (до записи файла на диск она пассивна) и позволяет произвести запуск файла. Запустив команду Run, можно наблюдать исполнение m-файла; в нашем случае - это построение рисунка в графическом окне и вывод надписи о делении на ноль в ходе вычисления функции sin(x)/x в командном окне системы (рис. 5.21).

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

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

    25. Цветовые выделения и синтаксический контроль

    Цветовые выделения и синтаксический контроль

    Редактор/отладчик m-файлов выполняет синтаксический контроль программного кода по мере ввода текста. При этом используются следующие цветовые выделения:

    • ключевые слова языка программирования - синий цвет;

      операторы, константы и переменные - черный цвет;

Построение графического интерфейса в системе 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. И мы можем к ней легко...

В этой категории мы рассмотрим эффективные действия, необходимые для работы с
программой 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.

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

Таблица 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: