实验七 Matlab GUI设计

    科技2023-12-29  106

    实验内容

    建立如图1所示的GUI,单击“ShowFigure”按钮能在左边坐标轴得到一个球面,弹出框提供色图控制(有三种选择:default,cool,hot),滚动条控制球的半径和圆滑度,滑动滚动条radius,球的半径会改变(范围0.5~5),滑动滚动条Smooth,球面的圆滑度会改变(范围10~30)。单击菜单“Quit”,退出图形用户界面。提示:[x,y,z]=sphere(n),可以产生(n+1)行,(n+1)列的矩阵x,y,z,采用这3个矩阵可以绘制出圆心位于原点、半径为1的单位球体。若在调用该函数时不带输出参数,则直接绘制所需球面。n决定了球面的圆滑程度。

    实验步骤

    1、新建实时脚本,输入"guide",点击运行,新建GUI

    2、生成fig文件后,利用左侧工具栏将所需控件拖至编辑窗口,如下图 3、编写控件回调函数 在按钮上->右键->查看回调->Callback 编写函数: 例如:右键ShowFigure->查看回调->callback后

    function pushbutton2_Callback(hObject, eventdata, handles) global R global n % 注意:R n 定义为全局变量,该变量可以被其它函数调用 [x,y,z] = sphere(n); x = R*x; y = R*y; z = R*z; axis equal; surf(x,y,z);

    其它按钮相应回调函数:

    %Quit 按钮 function pushbutton1_Callback(hObject, eventdata, handles) close %ColorMap function popupmenu1_Callback(hObject, eventdata, handles) CM = hObject.Value if CM ==1 colormap('default') elseif CM == 2 colormap('cool') else colormap('hot') end %Ridus 滑块 function slider1_Callback(hObject, eventdata, handles) % R 定义为全局变量 global R R=get(hObject,'value'); %Smooth 滑块 function slider2_Callback(hObject, eventdata, handles) % n 定义为全局变量 global n n=get(hObject,'value');

    4、调整控件属性 双击对应控件 String:修改控件名称 Max:修改最大值 Min:修改最小值 Value:一般设置成最小值或最大值 SiliderStep:步幅 对应控件设置: ColorMap: Radius: Smooth: 5、运行效果

    Processed: 0.027, SQL: 8