На третьем этапе создания графического интерфейса пользователя (GUI) пишется код основной программы вычисления и код для обработки событий

14836
знаков
0
таблиц
4
изображения

3. На третьем этапе создания графического интерфейса пользователя (GUI) пишется код основной программы вычисления и код для обработки событий.

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

При описании свойств элементов управления события описываются в m-файле:

а) либо при создании каждого элемента управления описываем его свойства и сразу описываем действие событие;

б) либо описываем обработку события для каждого элемента при помощи редактора событий (The Property Editor).

Начало выполнения действий по созданию графического интерфейса

Редактор GUIDE (руководство) вызывается командой guide из командного окна или путем выполнения цепочки команд главного меню File (Файл) – New (Новый) – GUI (Графический Интерфейс).

Две странички, присутствующие на стартовой заставке (рис. 1), позволяют начать проектирование нового интерфейса (вкладка – Create New GUI, (Создать новый интерфейс)) или воспользоваться ранее созданным интерфейсом (вкладка – Open Existing GUI (Открыть существующий интерфейс)). Дело в том, что описание формы приложения вместе с расположенными на ней интерфейсными компонентами может быть сохранено в файле с расширением fig. Если на диске хранится нечто похожее на наше будущее приложение, существующим файлом можно воспользоваться с целью экономии времени.

Начальная конструктора графического интерфейса (GUIDE) (рис. 1)

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

Окно редактирования формы (рис. 2)


После редактирование необходимо сохранить полученный проект. Для этого нажимаем: File–Save as и сохраняем проект в нужную папку на диске. После этого откроется окно следующего содержания:

Окно редактирования m-кода формы (рис. 3)

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


Окно программы, запущенной на выполнение (рис. 4)

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

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

Алгоритм создания интерфейса

1. Вызвать панель управления.

1)         Создать новую форму интерфейса или загрузить существующую.

2)         Перейти в режим редактирования формы.

3)         Натаскать на форму необходимые элементы управления.

2. Вызвать редактор свойств.

1)         Выбрать элемент управления.

2)         Выбрать нужное свойство и изменить его.

3. Вызвать редактор событий.

1)         Выбрать элемент управления.

2)         Написать код обработки события.

4. Вызвать редактор выравнивания объектов.

1)         Выбрать элемент управления иди группу элементов.

2)         Выбрать метод выравнивания.

5. Перейти в окно панели управления и активизировать интерфейс.



Литература

1. Дьяконов, В.П. MATLAB 6.5 SP1/7 + Simulink 5/6 в математике и моделировании / В.П. Дьяконов. – М.: СОЛОН-Пресс, 2005. – 576 с.

2. Дьяконов, В.П. MATLAB 6.5 SP1/7 + Simulink 5/6. Основы применения / В.П. Дьяконов – М.: СОЛОН-Пресс, 2005. – 800 с.

3. Дьяконов, В.П. MATLAB 6.5 SP1/7 + Simulink 5/6. Работа с изображениями и видеопотоками / В.П. Дьяконов. – М.: СОЛОН-Пресс, 2005. – 400 с.

4. Ермачкова Ю.А. Проектирование интерфейса в среде GUIDE MATLAB / Ю.А. Ермачкова // Современные информационные технологии в экономике, управлении и образовании. Сборник материалов межвузовской научно-практической конференции, посвященной 175 – летию потребительской кооперации России и 5 – летию филиала. – М.: Информационно-внедренческий центр «Маркетинг», 2006. – С. 35–37.


Приложение

function varargout = kursovaya(varargin)

% KURSOVAYA M-file for kursovaya.fig

% KURSOVAYA, by itself, creates a new KURSOVAYA or raises the existing

% singleton*.

%

% H = KURSOVAYA returns the handle to a new KURSOVAYA or the handle to

% the existing singleton*.

%

% KURSOVAYA ('CALLBACK', hObject, eventData, handles,…) calls the local

% function named CALLBACK in KURSOVAYA.M with the given input arguments.

%

% KURSOVAYA ('Property', 'Value',…) creates a new KURSOVAYA or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before kursovaya_OpeningFcn gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to kursovaya_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose «GUI allows only one

% instance to run (singleton)».

%

% See also: GUIDE, GUIDATA, GUIHANDLES


% Edit the above text to modify the response to help kursovaya

% Last Modified by GUIDE v2.5 25-Dec-2009 17:53:25

% Begin initialization code – DO NOT EDIT

gui_Singleton = 1;

gui_State = struct ('gui_Name', mfilename,…

'gui_Singleton', gui_Singleton,…

'gui_OpeningFcn', @kursovaya_OpeningFcn,…

'gui_OutputFcn', @kursovaya_OutputFcn,…

'gui_LayoutFcn', [],…

'gui_Callback', []);

if nargin && ischar (varargin{1})

gui_State.gui_Callback = str2func (varargin{1});

end

if nargout

[varargout {1:nargout}] = gui_mainfcn (gui_State, varargin{:});

else

gui_mainfcn (gui_State, varargin{:});

end

% End initialization code – DO NOT EDIT

% – Executes just before kursovaya is made visible.

function kursovaya_OpeningFcn (hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved – to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to kursovaya (see VARARGIN)


% Choose default command line output for kursovaya

handles.output = hObject;

% Update handles structure

guidata (hObject, handles);

% This sets up the initial plot – only do when we are invisible

% so window can get raised using kursovaya.

if strcmp (get(hObject, 'Visible'), 'on')

F = @(t, x) 0; ode23tx (F, [0 10], 1);

end

% UIWAIT makes kursovaya wait for user response (see UIRESUME)

% uiwait (handles.figure1);

% – Outputs from this function are returned to the command line.

function varargout = kursovaya_OutputFcn (hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved – to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

varargout{1} = handles.output;

% – Executes on button press in pushbutton1.

function pushbutton1_Callback (hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved – to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

axes (handles.axes1);

cla;

popup_sel_index = get (handles.popupmenu1, 'Value');

switch popup_sel_index

case 1

F = @(t, x) 0; ode23tx (F, [0 10], 1)

case 2

F = @(t, x) t; ode23tx (F, [0 10], 1);

case 3

F = @(t, x) x; ode23tx (F, [0 10], 1);

case 4

F = @(t, x) – x; ode23tx (F, [0 10], 1);

case 5

F = @(t, x) 2*x-x^2; ode23tx (F, [0 10], 1);

end

% –

function FileMenu_Callback (hObject, eventdata, handles)

% hObject handle to FileMenu (see GCBO)

% eventdata reserved – to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% –

function OpenMenuItem_Callback (hObject, eventdata, handles)

% hObject handle to OpenMenuItem (see GCBO)

% eventdata reserved – to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

file = uigetfile ('*.fig');

if ~isequal (file, 0)

open(file);

end

% –

function PrintMenuItem_Callback (hObject, eventdata, handles)

% hObject handle to PrintMenuItem (see GCBO)

% eventdata reserved – to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

printdlg (handles.figure1)

% –

function CloseMenuItem_Callback (hObject, eventdata, handles)

% hObject handle to CloseMenuItem (see GCBO)

% eventdata reserved – to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

selection = questdlg(['Close ' get (handles.figure1,'Name') '?'],…

['Close ' get (handles.figure1,'Name') '…'],…

'Yes', 'No', 'Yes');

if strcmp (selection, 'No')

return;

end

delete (handles.figure1)

% – Executes on selection change in popupmenu1.

function popupmenu1_Callback (hObject, eventdata, handles)

% hObject handle to popupmenu1 (see GCBO)

% eventdata reserved – to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)


% Hints: contents = get (hObject, 'String') returns popupmenu1 contents as cell array

% contents {get(hObject, 'Value')} returns selected item from popupmenu1

% – Executes during object creation, after setting all properties.

function popupmenu1_CreateFcn (hObject, eventdata, handles)

% hObject handle to popupmenu1 (see GCBO)

% eventdata reserved – to be defined in a future version of MATLAB

% handles empty – handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal (get(hObject, 'BackgroundColor'), get (0,'defaultUicontrolBackgroundColor'))

set (hObject, 'BackgroundColor', 'white');

end

set (hObject, 'String', {'y(t)=const', 'y=1+t.^2./2', 'y=exp(t)', 'y=exp(-t)', 'y=2./(1+exp (-2*t))'});


Информация о работе «Построение графического интерфейса в системе Matlab»
Раздел: Информатика, программирование
Количество знаков с пробелами: 14836
Количество таблиц: 0
Количество изображений: 4

Похожие работы

Скачать
80660
0
0

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

Скачать
28053
0
4

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

Скачать
249178
21
46

... системам линейных алгебраических уравнений с более чем одной неизвестной; MATLAB решает такие уравнения без вычисле-ния обратной матрицы. Хотя это и не является стандартным математическим обозначением, система MATLAB использует терминологию, связанную с обычным делением в одномерном случае, для описания общего случая решения совместной системы нескольких линейных уравнений. Два символа деления / ...

Скачать
99533
9
25

... при механических, климатических и специальных воздействиях окружающей среды; - специальные требования по защите информации. Построение «автоматизированной системы информационной поддержки наладочных работ электропривода» Дано: 1          Объект информатизации 2          Ограничения 3          Критерий 4          База данных 5          Классификатор характеристик 6          Пакет программ ...

0 комментариев


Наверх