Matlab利用guide进行计算、绘图的界面编写
使用Matlab的用户可以制作可视化的交互界面,发布自己的界面程序。本例中使用guide进行一个简单的实例演示,包括定义一个函数并绘制其图像,函数参数的输入等。
打开GUI引导界面
(01)在Matlab命令行窗口中输入guide命令,打开如下界面
(02)单击确定按钮,新建一个空白模板。如图所示
添加按钮、更改属性
(01)在新建的模板中,单击鼠标左键将所需的按钮拖动到绘图区域,本例中定义函数y=a*sin(b*x),所以需要一个函数名称显示的静态文本框,标注a和b的两个静态文本框,输入a和b内容的两个可编辑文本框,一个绘图命令的按钮,一个绘图显示区。操作结果如图所示
(02)更改各控件属性值:双击静态文本框,弹出属性对话框,更改String选项显示名称为y=a*sin(b*x),依次更改另外两个静态文本框以及按钮的显示,步骤及结果如图
(03)为了编写代码时的记忆方便,更改a和b之后两个可编辑文本框的显示效果以及Tag标签,操作过程以及最终的改变效果如下所示
代码编写
(01)接下来就是编写回调函数CallBack的调用代码。在需要编写代码的控件上单击右键,弹出以下对话框,选择CallBack,跳转到代码区,在edit_a的代码区键入以下代码a=str2num(get(hObject,'String'));%得到其中的字符串并将其转换为数字if isempty(a) %判断是否为数据,若否,则将其设置为0set(hObject,'String','0');endguidata(hObject,handles);%更新数据操作图片以及键入结果如下
(02)同样,对edit_b进行操作
(03)最后,编写pushbutton即绘图按键的代码编写键入以下代码a=str2double(get(_a,'String'));%获得数据ab=str2double(get(_b,'String'));%获得数据bx=0:0.01:2*pi;%定义x范围以及步长y=a*sin(b*x);%计算该函数y值plot(x,y);%绘图并显示在绘图区
验证
(01)运行该界面程序时,有两种方式,如图所示
(02)在文本框中分别输入a为2,b为3,单击绘图按钮,结果如图
(03)在a的输入框中输入一个字母g,观察运行结果可发现程序将其自动置为0,故可以防止非数字输入时的程序错误
特别提示
打开guide引导界面时注意大小写
如果对您有点帮助,请在左下角落里点个赞,谢谢您!
-
世界价格最贵的猫:阿什拉猫17万一只(身高1.2米混血猫)
导语:猫咪是十分惹人喜爱的动物,很多人都对这种动物十分喜爱。关于世界最大的猫,世界最小的猫大家都有所了解,那么世界最贵的猫大家知道吗?世界上最贵的猫是17万一只的阿什拉猫,下面和探秘志小编一起来了解一下吧。世界价格最贵的猫:阿什拉猫阿什拉猫是世界上价格最...
-
扑街是什么意思?粤语中骂人的词,源自英文Poor guy
解答:扑街主要表达3种意思:1.原意是走路被绊倒,扑倒在马路上;2.游戏中角色死亡,或者指乞丐;3.粤语中的“仆街”同意,源自外语中的“poorguy”,本意是骂人,也可表达一种倒霉的意思。扑街是什么意思?1.古文中扑街是扑倒在路上是指走路被绊倒,“扑”是扑倒,“街”是在街上...
-
马斯洛需求层次理论 揭秘马斯洛的5个需求
导语:美国社会心理学家马斯洛将人的需求像阶梯一样排列,最终由低到高分成了五种,分别是生理需求、安全需求、社交需求、尊重需求和自我实现需求,后来他又探讨了另外两种求知需要和审美需要,不过没有被加到前面,其中最基本的需求就是生理需求,和探秘志一起看看吧。马斯...
-
ABO血型系统是什么?血型是按照什么来划分的
导语:ABO血型系统是根据红细胞表面有没有特别的凝集原A和B来区分血液,最早是由德斯坦纳在1900年发现和提出的,主要分为A、B、AB、O四种血型,假如在红细胞上只有凝集原A的话就是A型血,如果血型不适合就会引起凝集,从而导致血管堵塞,下面探秘志就带大家一起看看ABO血型...