Этот пример показывает, как исследовать и запустить предварительно созданное приложение GUIDE. Приложение содержит поле списка, которое отображает переменные в вашей рабочей области MATLAB®. Кнопка ниже поля списка обновляет список. Эти три кнопки на праве строят график выбранных переменных с помощью различных шкал для осей x и y.
Открытый и выполнение приложение. Выберите одну переменную в поле списка, и затем содержите клавишу CTRL, чтобы выбрать вторую переменную. Затем нажмите Plot, Semilogx или Semilogy, чтобы построить график переменных.
В GUIDE нажмите кнопку Editor, чтобы просмотреть код.
Около верхней части окна Editor используйте кнопку Go To, чтобы перейти к функциям, обсужденным ниже.
update_button_Callback
Функция update_button_Callback
выполняется, когда пользователь нажимает кнопку Update Listbox. Это содержит одну команду, которая вызывает другую локальную функцию, update_listbox
. (Эта функция разделена так, она может быть снова использована в другом месте в приложении.)
Функция update_listbox
выполняет команду who
в MATLAB workspace, чтобы получить список текущих переменных. Затем это устанавливает содержимое поля списка к тому списку переменных.
vars = evalin('base','who'); set(handles.listbox1,'String',vars)
plot_button_Callback
Функция plot_button_Callback
выполняется, когда пользователь нажимает кнопку Plot. Обратные вызовы для кнопок Semilogx и Semilogy содержат большую часть того же кода.
Во-первых, вызовы функции локальная функция get_var_names
, который возвращает эти две выбранных переменные в списке.
[x,y] = get_var_names(handles);
Затем это проверяет, чтобы убедиться, что по крайней мере одна переменная выбрана. Если никакие переменные не выбраны, обратный вызов возвращает и ничего не строит график.
if isempty(x) && isempty(y) return end
Наконец, команда plot
выполняется из базового рабочего пространства.
try evalin('base',['plot(',x,',',y,')']) catch ex errordlg(ex.getReport('basic'),... 'Error generating linear plot','modal') end
catch
представляет ошибочное диалоговое окно, если ошибка происходит.