- •§ 2.2. Командное окно системы matlab
- •§ 2.3. Рабочее пространство системы matlab
- •§ 2.4. Скаляры и массивы. Индексированные переменные
- •§ 2.5. Форматы представления вещественных чисел
- •§ 2.6. Арифметические выражения
- •2.6.1. Некоторая специфика использования вещественных данных
- •2.6.2. Некоторая специфика использования комплексных данных
- •2.6.3. Некоторые приемы работы с матрицами и векторами
- •2.6.4. Некоторые специфика выполнения арифметических и логических операций.
- •§ 2.7. Элементарные математические функции
- •Часть 2. Визуализация результатов вычислений
- •§ 2.8. Особенности графической подсистемы matlab
- •§ 2.9. Построение графиков функций одной переменной
- •2.9.1. Простые графики в декартовой системе координат.
- •2.9.2. Визуализация нескольких графиков.
- •2.9.3. Функция fplot.
- •2.9.4. Построение графиков в логарифмическом и полулогарифмическом масштабах.
- •2.9.5. Построение графиков в полярных координатах.
- •§ 2.10. Оформление графиков и графических окон
- •2.10.1. Выбор свойств линий.
- •2.10.2. Оформление осей координат.
- •2.10.3. Добавление надписей, заголовков и координатной сетки.
- •§ 2.11. Средства управления в графическом окне
- •§ 2.12. Общее знакомство с трехмерной графикой в matlab
- •2.12.1. Общий алгоритм визуализации функций двух переменных.
- •2.12.2. Построение трехмерных линий.
- •2.12.3. Построение поверхностей.
- •2.12.4. Задание дополнительных параметров трехмерных графиков.
- •2.12.5. Построение линий уровня.
- •2.12.6. Построение траектории точки, движущейся в пространстве.
- •2.12.7. Интерактивное редактирование графиков.
- •Часть 3. Вычисления с действительными и комплексными массивами чисел
- •§ 2.13. Операции отношения и логические операции над числами
- •2.13.1. Операции отношения.
- •2.13.2. Логические операции.
- •2.13.3. Приоритет операций.
- •§ 2.14. Формирование одномерных числовых массивов
- •2.14.1. Задание одномерных массивов и доступ к их элементам.
- •2.14.2. Об ускорении операций задания массива.
- •2.14.3. Об использовании операции формирования диапазона.
- •§ 2.15. Матрицы и векторы. Двумерные массивы чисел
- •2.15.1. Создание матриц и векторов.
- •2.15.2. Доступ к отдельным фрагментам матриц.
- •2.15.3. Удаление строк и столбцов матрицы.
- •2.15.4. Использование функций перестановки частей матриц.
- •2.15.5. Определение размеров и размерностей массивов.
- •2.15.6. Использование операций индексации.
- •2.15.7. Изменение размеров массива.
- •2.15.8. Специальные функции формирования массивов.
- •§ 2.16. Вычисления с массивами
- •2.16.1. Поэлементные и групповые операции над массивами.
- •2.16.2. Решение некоторых типовых задач линейной алгебры и аналитической геометрии.
- •2.16.3. Применение операций отношения и логических операций к массивам.
- •2.16.4. Некоторые функции для работы с массивами.
- •Часть 4. Стандартные средства решения некоторых типовых задач линейной алгебры и математического анализа
- •§ 2.17. Решение систем линейных алгебраических уравнений
- •§ 2.18. Решение некоторых задач линейной алгебры. Матричные функции
- •§ 2.19. Разреженные матрицы
- •§ 2.20. Решение нелинейных уравнений
- •§ 2.21. Поиск минимального значения функции
- •§ 2.22. Численное интегрирование
- •2.22.1. Использование метода трапеций.
- •2.22.2. Использование методов Симпсона и Гаусса-Лобатто.
- •2.22.3. Вычисление двойных интегралов.
- •§ 2.23. Операции над полиномами
- •2.23.1. Вычисление значения полинома.
- •2.23.2. Вычисление корней полинома.
- •2.23.3. Умножение и деление полиномов.
- •2.23.4. Дифференцирование и интегрирование полиномов.
- •§ 2.24. Интерполяция и аппроксимация данных
- •2.24.1. Полиномиальная аппроксимация.
- •2.24.2. Интерполяция сплайнами.
- •Часть 5. Символьные вычисления
- •§ 2.25. Создание символьных переменных, выражений и матриц
- •2.25.1. Создание символьных переменных.
- •2.25.2. Создание символьных выражений.
- •2.25.3. Создание символьных матриц.
- •§ 2.26. Символьные вычисления
- •2.26.1. Символьное дифференцирование.
- •2.26.2. Вычисление пределов.
- •2.26.3. Символьное интегрирование.
- •2.26.3. Вычисление суммы ряда. Разложение функций в ряды.
- •2.26.4. Упрощение выражений. Подстановки.
- •2.26.5. Управление точностью вычислений.
- •2.26.6. Операции над векторами. Операции над матрицами. Некоторые операции линейной алгебры.
- •2.26.7. Решение уравнений и систем уравнений.
- •§ 2.27. Визуализация результатов символьных вычислений
- •2.27.1. Построение двумерных графиков.
- •2.27.2. Построение трехмерных графиков.
- •Часть 6. Основы программирования на m-языке
- •§ 2.28. Основные понятия программирования в системе matlab
- •2.28.1. Назначение языка программирования matlab.
- •2.28.2. Основные средства программирования.
- •2.28.3. Основные типы данных.
- •2.28.4. Виды программирования.
- •2.28.5. Двойственность операторов, команд и функций.
- •2.28.6. Некоторые ограничения.
- •§ 2.29. Создание и использование m-файлов
- •2.29.1. Понятие об m-файлах.
- •2.29.2. Типы m-файлов.
- •2.29.3. Создание файл-программ.
- •2.29.4. Создание файл-функций.
- •2.29.5. Глобализация переменных и функций.
- •2.29.6. Синтаксический контроль программ.
- •§ 2.30. Управляющие структуры
- •2.30.1. Понятие об управляющих структурах.
- •2.30.2. Операторы цикла.
- •2.30.3. Операторы ветвления.
- •2.30.4. Прочие операторы.
- •§ 2.31. Работа с файлами
- •2.31.1. Общие замечания.
- •2.31.2. Подготовка файла к работе.
- •2.31.3. Завершение работы с файлами.
- •2.31.4. Контроль за исчерпанием данных.
- •2.31.5. Чтение из текстового файла.
- •2.31.6. Анализ ошибок в файловых операциях.
- •§ 2.32. Форматный ввод-вывод данных
- •2.32.1. Форматные преобразования (sprintf, sscanf).
- •2.32.2. Форматные преобразования при работе с файлами (fprintf, fscanf).
- •§ 2.33. Рекурсивные файл-функции. Производительность файл-функций
- •2.33.1. Понятие о рекурсивных файл-функциях.
- •2.33.2. Оценка производительности файл-функции.
- •§ 2.34. Файл-функции с переменным числом входных параметров и выходных значений
- •§ 2.35. Диалоговые программы
- •2.35.1. Ввод числовых и символьных данных.
- •2.35.2. Вывод результатов вычислений.
- •§ 2.36. Анимационные эффекты
- •§ 2.37. Контроль входных и выходных параметров файл-функции
- •§ 2.38. Отладка программы
- •2.38.1. Понятие о способах отладки программы.
- •2.38.2. Рекомендации по созданию и отладке программ.
- •Часть 7. Создание программ с визуальным интерфейсом
- •§ 2.39. Понятие о графическом интерфейсе пользователя (gui)
- •2.39.1. Предварительные замечания.
- •2.39.2. Основные команды для создания gui.
- •§ 2.40. Общие сведения о визуальной среде guide
- •§ 2.41. Программирование событий в matlab
- •§ 2.42. Свойства основных компонентов в matlab
- •§ 2.43. Диалоговые окна в matlab
- •§ 2.44. Динамическое создание компонентов
- •§ 2.45. Создание меню
- •§ 2.46. Некоторые рекомендации по созданию приложений с графическим интерфейсом пользователя
§ 2.40. Общие сведения о визуальной среде guide
Приложения с графическим интерфейсом быстро приобрели популярность среди пользователей системы MATLAB, однако создание таких приложений на M-языке является достаточно сложным как для начинающих пользователей, так и для программистов средней квалификации. В связи с этим последние версии системы MATLAB приобрели специальные инструментальные средства для визуально-ориентированного программирования и проектирования приложений с GUI. Состав этих функций следующий:
– GUIDE – конструктор графического интерфейса;
– Property Inspector – инспектор свойств;
– Object Browser – браузер объекта;
– M-file Editor – редактор M-файлов;
– Component Callbacks – средство создания функций обработки событий для компонентов;
– Figure Callbacks – средство создания функций для обработки событий окон;
– Align Objects – средства выравнивания положения объектов;
– Grid and Rules – средства управления выводом сетки и линейками просмотра;
– Menu Editor – редактор меню;
– The Order Editor – средство изменения порядка активизации компонентов при нажатии клавиши Tab.
Перечисленные средства дают достаточный набор средств для визуально-ориентированного программирования и проектирования GUI. Сдежует отметить, что такой подход характерен для целого ряда современных визуально-ориентированных языков программирования (Visual Basic, Visual C и др.) и существенно облегчает создание приложений с GUI. Это обусловлено тем фактом, что в данном случае генерация программного кода происходит автоматически, что минимизирует усилия пользователя по программированию, а порой их, более того, вообще не требуется вовсе.
Главным средством в визуально-ориентированном программировании GUI является приложение (среда, инструмент) GUIDE (GUI Designer), при работе с которым можно создавать окна GUI посредством выбора мышью нужных элементов управления и перемещения их в окно GUI. Таким образом, могут создаваться различные элементы интерфейса, например кнопки, меню, списки, разного рода переключатели, текстовые поля и т.д. При этом возможно программирование событий, которые возникают при обращении пользователя к заданным элементам управления. Визуальное программирование совмещается с объектно-ориентированным, в частности в первом широко используется свойство наследования признаков родительских объектов их потомками.
Приложение с GUI может состоять из одного окна (основного) или нескольких окон и осуществлять вывод графической и текстовой информации как в основное окно приложения, так и в отдельные окна. Система MATLAB имеет ряд функций создания стандартных диалоговых окон для открытия и сохранения файлов, печати, выбора шрифта для текстовых объектов, создания окон для ввода данных и др. Эти средства (объекты) можно использовать в приложениях пользователя.
В справочной системе MATLAB можно найти 10-минутную англоязычную демонстрацию, посвященную созданию приложений с графическим интерфейсом с помощью среды GUIDE.
Для открытия окна среды GUIDE непосредственно из командного окна MATLAB следует использовать команду guide.
В результате на экране появится окно быстрого старта GUIDE Quick Start (рис. 2.40.1).
Рис. 2.40.1. Окно GUIDE Quick Start.
В данном окне можно создавать приложение требуемого типа (вкладка Create New GUI) или открыть существующее (вкладка Open Existing GUI). В последнем случае (рис. 2.40.2) при открытии приложение можно выбрать из недавно открывавшихся или при помощи кнопки Browse запустить файл с соответствующим приложением с диска.
При создании нового приложения (рис. 2.40.1) можно выбрать один из следующих шаблонов:
Blank GUI default – будет создано пустое окно приложения без элементов управления (рис. 2.40.3);
GUI with Uicontrols – появится работающее окно приложения (заготовка) с кнопками, переключателями и текстовыми полями ввода (рис. 2.40.4), иллюстрирующее создание приложения с GUI вычислительного характера;
GUI with Axis and Menu – откроется работающее приложение (заготовка) с меню, осями, списком (раскрывающимся) и кнопкой (рис. 2.40.5), иллюстрирующее создание приложения с GUI графического характера;
Modal Question Dialog – будет создано модальное диалоговое окно (заготовка), иллюстрирующее простейший диалог (рис. 2.40.6).
Рис. 2.40.2. Окно GUIDE Quick Start (вкладка Open Existing GUI).
С методической точки зрения изучение принципов создания графических приложений в системе MATLAB правильнее всего начать на базе пустого приложения, самостоятельно разместить в окне все необходимые элементы и написать текст программы.
В окне пустого приложения находятся (рис. 2.40.3) панель инструментов (расположенная горизонтально под главным меню) и палитра инструментов (расположенная вертикально слева).
На палитре инструментов находятся
следующие стандартные компоненты:
селекция (выбор) объектов создаваемого
окна GUIDE – Select
,
обычная кнопка (кнопка OK)
– Push Button
,
полоса скроллинга (линейка прокрутки,
слайдер) – Slider
,
переключатель (радиокнопка (беспроводная))
– Radio Button
,
флажок (область задания опции) – Check
Box
,
окно редактирования (кнопка ввода и
редактирования текста) – Edit
Text
,
метка (статический текст, область ввода
текста) – Static Text
,
раскрывающийся список – Pop-up
Menu
,
список – Listbox
,
кнопка-переключатель – Toggle
Button
,
таблица – Table
,
оси (оси графика) – Axes
,
обычная панель (панель) – Panel
,
панель для объединения радиокнопок или
флажков (кнопка для групп объектов) –
Button Group
,
компоненты ActiveX – ActiveX
Component
.
Меню создания приложения с GUI (рис. 2.40.3) содержит следующие позиции: File – файловые операции, вызов окна Preferences и печать; Edit – обычные операции редактирования и работы с буфером операционной системы Microsoft Windows; View – просмотр деталей GUI; Layout – разметка окна; Tools – вызов инструментальных средсв; Help – вызов справки.
Рис. 2.40.3. Шаблон пустого приложения.
Рис. 2.40.4. Окно приложения на базе шаблона GUI with Uicontrols.
Рис. 2.40.5. Окно приложения на базе шаблона GUI with Axis and Menu.
Рис. 2.40.6. Окно приложения на базе шаблона Modal Question Dialog.
На панели инструментов, расположенной
ниже рассмотренного меню, находятся
следующие кнопки: создание нового окна
с GUI – New
,
открытие окна загрузки файлов с окнами
GUI – Open
,
открытие окна сохранения файла с окном
GUI – Save
,
вырезание объекта и перенос его в буфер
– Cut
,
копирование объекта в буфер – Copy
,
перенос объекта из буфера с сохранением
его в нем – Paste
,
отмена последней операции – Undo
,
возврат к отмененной операции – Redo
,
выравнивание объектов – Align
Objects
,
вывод окна редактора меню – Menu
Editor
,
вывод окна редактора порядка обвода
элементов клавишей Tab
– Tab Order
Editor
,
вывод окна настойки панели инструментов
– Toolbar Editor
,
вывод окна редактора M-файлов
– Editor
,
вывод окна инспектора свойств – Property
Inspector
,
вывод окна браузера объектов – Object
Browser
,
запуск созданного приложения с GUI
– Run Figure
.
Для размещения компоненты на форме
требуется выделить его мышкой, а затем
еще одним щелчком мыши перенести
компонент в окне приложения. Компоненты,
расположенные в данном окне, можно
перемещать в другое место, изменять их
размеры (стандартными для операционной
системы Microsoft Windows
приемами). Удаление компонент из окна
осуществляется при помощи клавиши
Delete. Заметим, что
компоненты в окне вероятнее всего не
получится расположить идеально точно.
Для выравнивания их следует выделить
с помощью кнопки
,
расположенной на палитре инструментов
(рис. 2.40.3).
Рассмотрим процесс выравнивания на примере четырех компонентов, представленных на рис. 2.40.7.
Для выравнивания выделенных компонент
служит кнопка выравнивания объектов
(Align Objects)
,
после щелчка по которой появляется
диалоговое окно выравнивания, показанное
на рис. 2.40.8. В этом окне можно осуществить
вертикальное (Vertical)
и горизонтальное (Horizontal)
выравнивание (Align)
компонентов по любой из сторон или по
центру. Также в окне можно установить
одинаковое расстояние между компонентами
по вертикали (Vertical)
и горизонтали (Horizontal)
с помощью кнопок ряда Distribute.
Кроме того, после активации опции Set
spacing можно задать
конкретное расстояние между ними. На
рис. 2.40.9 представлен результат
вертикального выравнивание компонентов
(при одинаковом расстоянии между ними
в 50 пикселей, а на рис. 2.40.10 – результат
горизонтального выравнивания тех же
компонент.
