实验七 Matlab GUI设计

实验内容

建立如图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、运行效果
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值