matlab slider max,matlab slider和edit控件

本文介绍了如何使用MATLAB进行GUI开发,强调了slider、edit和figure在构建交互式算法界面中的作用。通过slider实时调整算法参数,edit显示参数值,figure用于实时展示结果。详细阐述了slider的步长设置、回调函数的使用,以及edit的输入验证,同时展示了如何在回调函数中更新edit和slider的值,并利用figure进行图像刷新。
摘要由CSDN通过智能技术生成

好久没用matlab了,用来开发算法是多么的友好、多么的效率呀~!收回我以前的那句话:matlab是玩具

言归正传,说说gui必备的三样元素:slider、edit、figure

用matlab写gui,就是为了贪图它的方便,用最简单的代码搞出一个适合跑算法的界面,这三个东西正合此意:通过slider或edit实时调整算法参数,figure实时绘画出调整后的结果,edit实时打印运算结果

slider的用法:

首先通过控件属性,可以修改slider的最大/最小值、调整步长。但调整步长是按照最大值1来计算的,如SliderStep为0.01,代表分100段,如果最大值是100,步长就是1,如果最大值是300,步长就是3,以此类推……

slider调整的步长是浮点数,即按一下slider的右箭头,增加的数值是小数,如果我们需要整型数,可以在slider的callback里面把get到的值进行强制类型转换,如:

sliderValue = get(handles.slider1,'Value');

ang = int32(sliderValue);

set(handles.slider1,'Value',ang);

slider控件的Callback一般写法:

function slider1_Callback(hObject, eventdata, handles)

sliderValue = get(handles.slider1,'Value');

set(handles.slider1,'Value',sliderValue);

func(sliderValue);% 自己编写的处理函数

guidata(hObject,handles);一旦修改slider,就会刷新sliderValue的值,然后调用func

同时,也可以用一个edit控件显示slider的值,只要在Callback里面添加:

set(handles.edit1,'String', num2str(ang));edit1是自己创建

edit的用法:

edit的用法大同小异

function edit1_Callback(hObject, eventdata, handles)

sliderValue=get(handles.edit1,'String');

sliderValue=str2num(sliderValue{1});

if (isempty(sliderValue) || sliderValue < 0 || sliderValue > 360)

set(handles.slider1,'Value',0);

set(handles.edit1,'String','0');

else

set(handles.slider1,'Value',sliderValue);

end要注意的是,第一句get到的sliderValue是一个cell,在str2num时要用sliderValue{1}的形式

下面的if语句是判断输入值是否合法,我这里是输入角度值,所以不能大于360

figure的用法:

在gui执行过程中,一旦建立了就一直存在,不管在什么地方建立的,这就带来很大的方便,在自己写的函数里面画图,返回时图像(figure)依然存在。然后就是要注意图像的刷新,需要刷新的地方加

hold off;想保留上一次结果加

hold on;

总结:gui中仅仅包括设置参数、显示文本的简单控件,显示图像的任务交给figure

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值