Вход в визуальную среду GUIDE, основные настройки
ЗАДАНИЕ
НА КУРСОВУЮ РАБОТУ
по дисциплине «Информационные технологии»
студенту ________________________________________________
Тема «Разработка приложения с графическим интерфейсом для вычисления определенного интеграла функции»
Исходные данные
- Ануфриев И. Е., Смирнов А. Б., Смирнова Е. Н. MATLAB 7. - СПб.: БХВ-Петербург, 2005. 1104 с.
- реализовать и сравнить методы численного интегрирования:
метод левых прямоугольников, | метод трапеций, | ||
метод правых прямоугольников, | метод Симпсона (парабол), | ||
метод средних прямоугольников, | метод Монте-Карло. |
Содержание пояснительной записки
- введение;
- математическое и алгоритмическое описание методов решения задачи;
- создание приложения с графическим интерфейсом (алгоритм работы приложения и обработки событий, результат работы приложения для тестового задания);
- исследование и сравнение методов численного интегрирования;
- заключение;
- приложения (листинг программы, руководство пользователя).
Руководитель: | /_____________/ | / ___________/ |
Подпись | ФИО | |
Задание принято к исполнению: | /_____________/ | / ___________/ |
Подпись | ФИО | |
Дата выдачи задания | ___________ |
1. введение
Matlab – это система инженерных и научных вычислений. Она обеспечивает математические вычисления, визуализацию научной графики программирование и моделирование процессов с использованием интуитивно понятной среды окружения, когда задачи и их решения могут быть представлены в нотации, близкой к математической. Наиболее известные области применения системы Matlab:
· математика и вычисления;
· разработка алгоритмов;
· вычислительный эксперимент, имитационное моделирование, макетирование;
· анализ данных, исследование и визуализация результатов;
· научная и инженерная графика;
· разработка приложений, включая графический интерфейс пользователя.
Основным объектом при программировании в среде Matlab является массив, для которого не требуется указывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками.
Система Matlab – это одновременно и операционная среда и язык программирования. Пользователь может написать специализированные функции и программы, которые оформляются в виде М-файлов. По мере увеличения количества созданных программ возникают проблемы их классификации и тогда можно попытаться собрать родственные функции в специальные папки. Это приводит к концепции пакетов прикладных программ, которые представляют собой коллекции М-файлов для решения определенной задачи или проблемы.
Cреда системы Matlab
Среда системы Matlab это совокупность интерфейсов, через которые пользователь поддерживают связь этой системой. Это: диалог посредством командной строки или графического интерфейса, просмотр рабочей области, редактор и отладчик М-файлов, работа с файлами и оболочкой DOS, экспорт и импорт данных, интерактивный доступ к справочной информации, динамическое взаимодействие с внешними системами Microsoft Word, Microsoft Excel и др. Реализуются эти интерфейсы через командное окно, инструментальную панель, системы просмотра рабочей области и путей доступа, редактор / отладчик М-файлов, специальные меню.
Пользовательский интерфейс носит дружественный характер и построен с учетом устоявшихся принципов программного обеспечения, разрабатываемого для операционной системы Windows.
В системе Matlab существует два вида м-файлов:
· скрипты – представляют последовательности команд (представляют собой процедуры);
· function – представляют собой функции с входными аргументами и выходными параметрами (значениями функции).
Но далее возникает необходимость многократного запуска файла программы при других, изменённых параметрах решаемой задачи. Возникает неудобство: в постоянном редактировании исходного текста программы и повторном или очередном её запуске. При этом важен механизм управления переменными, который бы обеспечивал удобный интерфейс между программой и пользователем. При решении других задач могут возникнуть трудности с визуализацией какого-либо процесса, то есть некоторая переменная изменяться динамически в процессе решения поставленной задачи.
Все эти и другие трудности, возможно, решить при использовании графического интерфейса пользователя. (GUI – Graphical UserInterface)
Основные принципы построения графического интерфейса
Использование графического интерфейса позволяет пользователю сделать программу более универсальной.
Как и любой процесс проектирования, процесс построения графического интерфейса пользователя можно разбить на следующие этапы:
1. Постановка задачи,
2. Создание формы интерфейса и создание на неё элементов управления.
3. Написание кода программы и кода обработки событий.
Этапы построения графического интерфейса пользователя
1. На первом этапе проводиться анализ поставленной задачи и определяется количество и состав элементов управления необходимых для решения задачи.
2. На втором этапе создаётся форма графического интерфейса и на ней создаются и размещаются элементы управления. Здесь же описываются их свойства.
Задавать расположение и выравнивать элементы на форме описывать их свойства можно 'вручную', но для удобства и быстроты используют редактор выравнивания объектов (The Alignment Tool) и редактора свойств (The Property Editor).
Существует два способа создания формы и элементов управления, а так же задания или изменения их свойств:
· использование команды WORKSPACE (то есть использование команды операционной среды MATLAB).
· использование средств панели инструментов – совокупности средств для быстрого создания GUI (The Control Panel).
При построении элементов управления первым способом удобно использовать скрипт-файл, в котором последовательно с помощью команд WARKSPACE описывается создание элементов управления и устанавливаются их свойства.
Эти команды можно использовать как для написания кода, создающего графический интерфейс пользователя, так и использовать для управления свойствами элементов управления из тела m-файлов. Благодаря чему мы можем получить визуализацию нашего процесса вычисления.
На практике всё более склоняются ко второму способу создания графического интерфейса с элементами управления. Это объясняется тем, что при использовании панели управления с её редакторами свойств, событий, выравнивания очень удобно работать, и создавать GUI значительно быстрее, чем в первом случае.
3. На третьем этапе создания графического интерфейса пользователя (GUI) пишется код основной программы вычисления и код для обработки событий.
Код основной программы вычисления, пишется на языке программирования операционной среды Matlab, в виде m-файла. Созданные m-файлы закрепляются за событием какого-нибудь элемента управления или формы.
При описании свойств элементов управления события описываются в m-файле:
а) либо при создании каждого элемента управления описываем его свойства и сразу описываем действие событие;
б) либо описываем обработку события для каждого элемента при помощи редактора событий (The Property Editor).
Начало выполнения действий по созданию графического интерфейса
Редактор GUIDE (руководство) вызывается командой guide из командного окна или путем выполнения цепочки команд главного меню File (Файл) – New (Новый) – GUI (Графический Интерфейс).
2.создание приложения с графическим интерфейсом (алгоритм работы приложения и обработки событий, результат работы приложения для тестового задания);
Графический пользовательский интерфейс MATLAB
В состав MATLAB входит среда GUIDE (Graphical User Interface Development Environment) для создания приложений с графическим интерфейсом пользователя. Работа в этой среде достаточно проста - элементы управления (кнопки, раскрывающиеся списки и т.д.) размещаются при помощи мыши, а затем программируются события, которые возникают при обращении пользователя к данным элементам управления.
Приложение может состоять как из одного основного окна, так и нескольких окон и осуществлять вывод графической и текстовой информации, в основное окно приложения и в отдельные окна. Ряд функций MATLAB предназначен для создания стандартных диалоговых окон открытия и сохранения файла, печати, выбора шрифта, окна для ввода данных и др., которыми можно пользоваться в собственных приложениях.
Что необходимо знать для создания приложений с графическим интерфейсом? Во-первых, как программируются файл- функции с подфункциями, файл- функции с переменным числом входных и выходных аргументов. Во-вторых, требуется иметь представление об иерархической структуре и свойствах графических объектов, уметь обращаться с указателями на них. Разумеется, не должна вызывать затруднение работа с числовыми массивами, строками, структурами, ячейками и массивами строк, структур и ячеек, а также использование конструкций встроенного языка программирования.
Элементы управления являются графическими объектами- потомками графического окна в иерархии объектов. Они могут быть созданы при помощи специальных функций низкоуровневой графики, но эффективнее использование визуальной среды GUIDE, которая позволяет создавать заготовку окна приложения, разместить на ней элементы управления, запрограммировать события и их взаимосвязь.
Таблица 1.
Интерфейсные компоненты MATLAB. Название компонента | Назначение | Аналог в других системах программирования |
Push Button | Простая кнопка | Visual Basic (VB) - CommandButton BCB, Delphi - Button Visual C++ - Push Button |
Toggle Button | Кнопка, фиксирующаяся в утопленном состоянии | BCB, Delphi - SpeedButton |
Radiobutton | Переключатель - индикатор альтернативных вариантов | VB - Option Box BCB, Delphi - RadioButton Visual C++ - Radio Button |
Checkbox | Окошко - индикатор неальтернативных вариантов | VB - CheckBox BCB, Delphi - CheckBox |
Edit Text | Поле для вывода, ввода и редактирования текста | VB - TextBox BCB, Delphi-Edit Visual C++ - Edit Box |
Static Text | Область для вывода текста (метка) | VB - Label BCB, Delphi - Label, StaticText Visual C++ -Static Text |
Slider | Ползунок, полоса про- крутки | VB - HScrollBar, VScrollBar BCB, Delphi- ScrollBar Visual C++ - Horizontal или Vertical Scroll Bar |
Panel | Рамка, контейнер для интерфейсных компонентов | VB - Frame BCB, Delphi - Frame, Panel, Group Box Visual C++ - нет аналога |
Button Group | Рамка для кнопок типа Radio Button И Toggle Button | VB - Frame BCB, Delphi - Radio Group, Group Box Visual C++ - нет аналога |
Listbox | Список, окно для отобра- жения массива строк | VB - ListBox ВСВ, Delphi - ListBox Visual C++ - L i s t Box |
Popup Menu | Всплывающее меню | VB -Menu Editor BCB, Delphi - PopMenu |
Каждый интерфейсный элемент обладает заданным набором свойств, определяющих внешний вид и поведение компонента на стадии выполнения программы. В пакете MATLAB любому интерфейсному элементу всегда приписано 41 свойство (табл. 2).
Таблица 2.
Свойства интерфейсных компонентов
Свойство | Назначение | Допустимые значения | |||||
BackgroundColor | Цвет фона (по умолчанию – серый [0.753 0.753 0.753]) | Вектор, задающий значе- ния RGB-компонентов из диапазона от 0 до 1 | |||||
BeingDeleted | Признак возможности удаления (по умолчанию - o f f ) | on (разрешено), o f f (запрещено) | |||||
BusyAction | Реакция на возникновение ново- го прерывания во время обработ- ки текущего события (по умолча- нию - queue) | queue (поставить в очередь), cancel (проигнорировать) | |||||
ButtonDownFcn | Указатель на функцию обработки события "Нажатие правой кнопки мыши" | ||||||
Cdata | Массив для хранения изображе- ния в формате t r u e c o l o r , кото- рое "наклеивается" на поверх- ность объекта | ||||||
Callback | Указатель на функцию - обра- ботчик события Callback | ||||||
Children | Массив указателей на потомков | ||||||
Clipping | Признак отсечения при выходе изображения за границы объекта (по умолчанию - on) | on (включено), o f f (отключено) | |||||
CreateFcn | Указатель на функцию обработки события "Создание объекта" | ||||||
DeleteFcn | Указатель на функцию обработки события "Удаление объекта" | ||||||
Enable | Признак доступа к объекту (по умолчанию - on) | on (доступ разрешен), o f f (доступ запрещен) | |||||
Extent | Габаритный прямоугольник | ||||||
FontAngle | Признак наклона букв (по умол- чанию- normal) | normal (прямой шрифт), i t a l i c (курсив), oblicue (наклонный) | |||||
FontName | Имя шрифта (по умолчанию - MS Sans Serif) | Список имен шрифтов, установленных в Windows | |||||
FontSize | Размер (высота) букв в установ- | ||||||
ленных единицах (по умолча- нию - 8 пунктов) | |||||||
FontUnits | Единицы измерения (по умолча- нию- points) | inches (дюймы), centimeters (сантиметры), normalized, pixels (пикселы), points (пункты, 1 пункт = 1/72 дюйма) | |||||
FontWeight | Толщина контура букв (по умол- чанию - normal) | normal (нормальная), light (утонченная), demi (полужирная), bold (жирная) | |||||
ForegroundColor | Цвет рисования (по умолчанию - черный = [ 0 . 0 0.0 0.0]) | Вектор значений RGB- компонентов | |||||
Handle Visibility | Признак видимости указателя обработчика событий (по умол- чанию - on) | on (доступен), o f f (не доступен) | |||||
HitTest | Признак разрешения поиска объекта по значению свойства (по умолчанию - on) | on (поиск разрешен), o f f (поиск запрещен) | |||||
Horizontal Alignment | Способ размещения надписи в поле объекта (по умолчанию - center) | l e f t (левый прижим), r i g h t (правый прижим), center (по центру) | |||||
Interruptible | Признак разрешения прервать обработчик события (по умолча- нию- on) | on (прерывание разрешено), o f f (прерывание запрещено) | |||||
KeyPr&ssFcn | Указатель на функцию обработки события "Нажата клавиша" в тот момент, когда компонент нахо- дился в фокусе | ||||||
ListBoxTop | Индекс строки разворачивающе- гося списка, которая отображена в верхнем окне (по умолчанию - 0) | ||||||
Max | Максимальное значение свойст- ва Value (по умолчанию - 1) | ||||||
Min | Минимальное значение свойства Value (по умолчанию - 0) | ||||||
Parent | Указатель на родительский объект | ||||||
Position | Позиция объекта - вектор, опре- деляющий координаты нижнего левого угла объекта, его ширину и высоту в установленных едини- цах измерения | ||||||
Selected | Признак выбора объекта | on (выбран), o f f (не выбран) | |||||
Selection- Highlight | Признак повышенной яркости для выделения того или иного элемента в объекте (по умолча- | on (включен), o f f (выключен) | |||||
Создание приложения с графическим интерфейсом
Вход в визуальную среду GUIDE, основные настройки
- команда guide -переход в визуальную среду GUIDE;
- выбираем Blank GUI (Default)– пустое окно приложения без элементов управления, осей и меню;
- в меню Toolsвыбрать GUI Options, в списке Command-lime accessibilityустановить Callback(GUI becomes Curent Figure within Callbacks), включить переключатель Generate FIG-file and M-file– автоматическая генерация заготовок для подфункций обработки событий, использование окна приложения для графического вывода.
Рис. 6. Приложение "Analyse" в режиме редактирования.