MATLAB GUI编程实例:绘制sinx和cosx图像

需积分: 10 3 下载量 47 浏览量 更新于2024-07-25 收藏 317KB DOC 举报
GUI编程实例简析 本文将对GUI编程实例进行简析,主要介绍了在MATLAB中编程GUI的实例,包括使用fig方式编写绘制sinx、cosx图像的关键程序和操作。 GUI编程实例 在MATLAB中,GUI编程是指使用图形用户界面来交互式地操作和可视化数据的过程。下面是一个使用fig方式编写绘制sinx、cosx图像的关键程序和操作实例。 fig方式编写绘制sinx、cosx图像 首先,在GUI设计器上放置2个pushbutton、1个popupmenu、2个statictext、1个坐标系。然后,在popupmenu的回调函数中,使用switch语句来根据选择的值设置数据的值。 ```matlab function popupmenu_func_Callback(hObject,eventdata,handles) val=get(hObject,'value'); switch val case 1 handles.data='sin(x)'; set(handles.text1,'string','sin(x)'); case 2 handles.data='cos(x)'; set(handles.text1,'string','cos(x)'); otherwise handles.data='sin(x)'; set(handles.text1,'string','sin(x)'); end guidata(hObject,handles);%最关键 ``` 在pushbutton的回调函数中,使用if语句来根据选择的值绘制sinx或cosx图像。 ```matlab function pushbutton_red_Callback(hObject,eventdata,handles) x=0:0.1:2*pi; if handles.data=='sin(x)' y=sin(x); plot(x,y,'r'); end if handles.data=='cos(x)' y=cos(x); plot(x,y,'r'); end end function pushbutton_blue_Callback(hObject,eventdata,handles) x=0:0.1:2*pi; if handles.data=='sin(x)' y=sin(x); plot(x,y,'b'); end if handles.data=='cos(x)' y=cos(x); plot(x,y,'b'); end end ``` 动态增加button 在GUI中,我们也可以动态增加button。下面是一个使用figure函数创建GUI窗口,并动态增加button的实例。 ```matlab figure('MenuBar','none','Name','Gui01','NumberTitle','off','Position',[200,200,100,140]); uicontrol('Style','PushButton','String','Push','Position',[20,100,60,20],'CallBack','disp(''You are pressed'''); ``` 结语 本文通过一个简单的实例,展示了MATLAB中使用fig方式编写绘制sinx、cosx图像的关键程序和操作。同时,我们也可以动态增加button来丰富GUI的交互式体验。