- •Министерство сельского хозяйства рф
- •Оглавление
- •Введение
- •Лабораторная работа №1 Знакомство с системой. Работа с векторами и матрицами.
- •1.Работа с числами и константами.
- •2.Работа с векторами и матрицами.
- •3.Форматы выдачи на экран.
- •Лабораторная работа №2
- •Лабораторная работа №3 Графический способ решения уравнений. Минимум функции. Интегрирование.
- •1.Решение уравнений.
- •2. Интегрирование.
- •Лабораторная работа №4 Работа с полиномами. Интерполирование.
- •1.Работа с полиномами.
- •2.Приближение по методу наименьших квадратов.
- •3.Интерполяция сплайнами.
- •Лабораторная работа №5 Работа с текстовыми файлами. Работа со структурами.
- •1. Открытие файла, считывание данных и закрытие файла.
- •2.Запись в текстовый файл.
- •Лабораторная работа №6 Создание приложений в среде guide. Часть 1.
- •1.Создание простого приложения.
- •2.Программное изменение свойств.
- •3.Программирование элементов интерфейса. Флаги и рамки.
- •Лабораторная работа №7 Создание приложений в среде guide. Часть 2.
- •4.Переключатели.
- •5.Списки.
- •6.Полосы скроллинга.
- •Библиографический список
2.Программное изменение свойств.
Большинство свойств объектов можно устанавливать программно прямо в ходе работы приложения для обеспечения согласованного поведения элементов управления. Усовершенствуйте приложение mygui следующим образом. Пусть при запуске доступной является только кнопка Построить, при нажатии на кнопку выводится график и она становится недоступной, зато пользователь может нажать на кнопку Очистить для очистки осей и наоборот.
Решение поставленной задачи требует привлечения свойства Enable объекта. Оно отвечает за возможность доступа к нему пользователем, значение on разрешает доступ, а off запрещает. Установка значений в программе производится при помощи функции set. Она вызывается с тремя входными аргументами – указателем на объект, названием свойства и его значением, последние два аргумента заключаются в апострофы. Свойства одного объекта должны изменяться в блоке операторов обработки события Callback другого объекта.. Аргументы hObject и handles подфункций, которые обрабатывают события аргументов управления, содержат требуемые указатели. В hObject хранится указатель на тот объект, событие которого обрабатывается в данный момент, а handles является структурой указателей. Поля структуры совпадают со значениями свойств Tag элементов интерфейса. Например, handles.btnPlot является указателем на кнопку Построить с именем btnPlot.
Доступ к Очистить должен быть запрещен в начале работы приложения, пока пользователь не нажмет Построить. Установите в редакторе свойств для кнопки Очистить Enable в Off , используйте кнопку со стрелкой в строке со значением свойства. Остальные изменения значения Enable кнопок должны происходить в ходе работы приложения. Для разрешения и запрещения доступа к кнопкам нужно внести дополнения в обработку их событий Callback.
В подфункцию обработки события callback кнопки Построить добавьте при помощи редактора вызовов:
установку свойства Enable кнопки Очистить в значение on (после вывода графика следует разрешить доступ к Очистить);
установку свойства Enable кнопки Построить в значение off (после вывода графика следует запретить доступ к Построить);
Аналогичные изменения произведите в обработке события Callback кнопки Очистить, а именно:
установку свойства Enable кнопки Построить в значение on (после очистки осей следует разрешить доступ к Построить);
установку свойства Enable кнопки Очистить в значение off (после очистки осей следует запретить доступ к кнопке);
Подфункции btnPlot_callback и btnclear_Callback должны быть запрограммированы так:
function varargout = btnPlot_Callback(hObject, eventdata, handles, varargin)
% Построение графика функции
x = [-2:0.2:2];
у = ехр(-х.^2) ;
plot (х, у)
% Кнопка Построить должна стать недоступной после вывода графика
set(hObject, 'Enable', 'off'}
% Кнопка Очистить должна стать доступной
set(handles.btnClear, 'Enable', 'on')
function varargout = btnClear_Callback(hObject, eventdata, handles, varargin)
cla % очистка осей
% Кнопка Очистить должна стать недоступной после очистки осей
set(hObject, 'Enable', 'off')
% Кнопка Построить должна стать доступной
set(handles.btnPlot, 'Enable', 'on')'
Сохраните изменения в редакторе М-файлов. Запустите приложение mygui и убедитесь, что всегда доступной является только одна из кнопок Построить или Очистить, что является хорошей подсказкой для пользователя о возможных действиях. Закройте окно приложения и редактор приложений. Следующий раздел посвящен запуску приложения из командной строки и переходу в режим редактирования.
Измените название окна приложения на "Визуализация функций" .
Заголовок окна задается свойством Name графического окна. Сделайте графическое окно текущим, щелкнув мышью по области заготовки окна в редакторе приложений. Установите в редакторе свойств Name в 'Визуализация функций'.
Запустите mygui, появляется окно GUIDE с предупреждением о том, что продолжение повлечет сохранение приложения. Установите флаг Don't tell me again для подавления вывода данного предупреждения при дальнейшей работе и нажмите ОК. Убедитесь, что приложение имеет нужный заголовок.