Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОС_дз_методичка 04 11 11 для студентов с 2012...doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
265.73 Кб
Скачать

Краткая справка по matlabguide

Чтобы вызвать редактор интерфейсов введите команду guideв workspace. Далее в появившемся окне выберите опцию создания нового пустого интерфейса. Открывшийся редактор будет очень похож на знакомый VisualStudio с обрезанным функционалом.

Разместив все элементы на поле нужно создать для каждого из них т.н. Callbackfunction (функцию, обрабатывающую события, связанные с данным элементом). Для этого в контекстном меню для каждого элемента выбираем пункт Viewcallbacks>>Callback. Откроется редактор кода интерфейса. Шапка будет иметь приблизительно такой вид: function ‘элемент’_Callback(hObject, eventdata, handles). Также вместе с шапкой автоматически создаются некоторые комментарии (в этой среде закомментированной считается строка, начинающаяся с “%” ), которые зачастую оказываются полезны при отладке.

Функции бегунков-регуляторов усиления должны иметь следующий код:

function slider1_Callback(hObject, eventdata, handles) x=round(get(hObject,'Value')); set(handles.txt1, 'String', [int2str(x) ' dB']); set_param('equalizer/Gain1','db',int2str(x)); end

Где:

Slider1 – имя «бегунка» txt1–имя текстового блока, отображающего текущий уровень усиления equalizer/Gain1 – ссылка на блок Gain1 модели equalizer.mdl.

Кнопка включения\паузы:

function pushbutton1_Callback(hObject, eventdata, handles) x=get(hObject,'String'); if strcmp(x,'Play') load_system('equalizer'); set_param('equalizer', 'SimulationCommand', 'start'); set(hObject,'String', 'Pause'); elseifstrcmp(x,'Play') set_param('equalizer', 'SimulationCommand', 'pause'); set(hObject,'String', 'Play'); end end

Параметры аналогичны.

Кнопка выключения:

function pushbutton2_Callback(hObject, eventdata, handles) set_param('equalizer', 'SimulationCommand', 'stop'); end

Полезную информацию для отладки как интерфейса, так и модели Simulink, предоставляет MATLABHelp. Прежде чем спрашивать у гугла стоит спросить у него. Я серьезно!

11