matlab做法Word下载.docx

上传人:b****6 文档编号:21254448 上传时间:2023-01-28 格式:DOCX 页数:15 大小:417.84KB
下载 相关 举报
matlab做法Word下载.docx_第1页
第1页 / 共15页
matlab做法Word下载.docx_第2页
第2页 / 共15页
matlab做法Word下载.docx_第3页
第3页 / 共15页
matlab做法Word下载.docx_第4页
第4页 / 共15页
matlab做法Word下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

matlab做法Word下载.docx

《matlab做法Word下载.docx》由会员分享,可在线阅读,更多相关《matlab做法Word下载.docx(15页珍藏版)》请在冰豆网上搜索。

matlab做法Word下载.docx

2.1界面上有两个标签也“CreatNewGUI”和“OpenExistingGUI”

如果创建新的GUI此时我们选择第一个标签页,但如果打开其它已经存在的GUI就点击第二个标签吧

2.2这里我们选择第一个标签下的“BlankGUI”(空白GUI),下面还有几个系统GUI模版,你可以根据需要其它的

52上传

下载附件(19.66KB)

2.3点击“OK”我们正式进入GUIDE界面,呵呵,是不是感觉似曾相识

15:

下载附件(16.63KB)

3、添加你需要的控件到figure中

在添加控件之前,您最好对您的GUI界面布局已经有一定的构思了,否则盲目性太大了不利于您的编程。

下面是我们构思的布局

二、添加控件和设置属性

在正式讲解之前,我们先讲解下GUI中的鼠标基本操作

(a)在左边的控件面板中鼠标左击选择您需要的控件,然后放开鼠标

(b)在右边的figure中按住左键,画出您的控件,于是控件就在figure上

(c)你可以用鼠标拖拽figure上所有控件,来改变他们的位置

(d)在控件上双击鼠标左键(右击是快捷菜单)可打开控件属性面板

1、从上面的布局构思,我们知道本GUI需要以下控件

32:

47上传

下载附件(321Bytes)

两个“编辑文本框”(EditText)

下载附件(287Bytes)

四个“静态文本框”(StaticText)

下载附件(324Bytes)

一个“确定按钮”(Pushbutton)

按照上面介绍的鼠标操作方法,将这6个控件拖到右边的figure中,如下图所示

37:

18上传

下载附件(18.16KB)

2、接下来就是编辑这些控件的属性

好,下面从StaticText开始吧,双击其中一个“静态文本块”,将跳出该控件的“属性查看器”(PropertyInspector)

19上传

下载附件(15.68KB)

GUI控件的几个常用属性说明如下:

position:

指示空间在figure中的位置

font**:

字体相关属性

string:

相当如VB中的caption,就是显示在控件上的文字

tag:

控件的唯一标识符,相当于ID,我们需要tag来指定某一个控件

2.1在这里我们修改它的“string”属性为“+”

20上传

下载附件(15.53KB)

2.2同理修改它的“fontsize”属性为20

在编辑完这些属性后,直接点击右上角的“关闭”按钮,关闭属性查看器,此时属性会自动保存。

回到GUIDE,如果控件上的文字被部分隐盖,此时可以通过鼠标拖拽改变控件的大小

2.3重复上面的操作

(1)将第二个“StaticText”的“string”改为“=”,“fontsize”为20

(2)第三个“StaticText”的“string”改为“MyAdderGUI”,“fontsize”为20

(3)第四个“StaticText”的“string”改为“0”,“tag”为“answer_staticText”

2010-2-2715:

01:

下载附件(15.33KB)

于是,我们将得到如下所示的GUI界面

24上传

下载附件(18KB)

2.4下面双击EditText,修改编辑文本框的属性

(1)第一个“EditText”的用来存储第一个加数,我们将“string”改为“0”,“tag”改为“input1_editText”

10:

14上传

下载附件(15.43KB)

(2)第二个“EditText”的用来存储第二个加数,我们将“string”改为“0”,“tag”改为“input2_editText”

2.5修改Pushbutton按钮的属性,“string”改为“Add!

”,“tag”改为“add_pushbutton”

16上传

下载附件(15.28KB)

再次预览下我们现在得到的GUI界面

下载附件(17.72KB)

3、重新布局和移动控件位置,使其美观

25上传

下载附件(17.75KB)

将上面编辑完的GUI程序保存为myAdder,此时在当前目录下,Matlab将自动生成如下来个两个文件myAdder.m和myAdder.fig。

.fig文件包含了程序的图形用户界面,.m文中包含了GUI所需的回调函数和其他必须代码。

三、书写GUI回调函数(callback)代码

在保存GUI程序时,Matlab会自动生成.fig和.m文件,其中的.m就是我们现在要操作的对象。

我们就是M文件中添加控件的回调函数响应用户的操作!

这也是GUI编程的核心内容,它要求你必须掌握Matlab基本编程以及图形句柄语句!

打开.m文件,发现里面有很多function的代码,看得我们眼花缭乱,呵呵,不要胆怯!

本教程是初级教程,我们只涉及里面的callback,其他的我们可以暂时置之不理!

至于其它的我们以后的教程中对做相关介绍!

在正式讲解之前,一个小使用技巧,MatlabEditor(代码编辑器)工具栏显示函数按钮

2010-2-2716:

44:

58上传

下载附件(351Bytes)

,可以让我们快速跳转我们需要的函数位置!

这个在.m内容很多的时候很有用哦!

1、在Editor中工具栏的函数ShowFunction中选择input1_editText_Callback

2010-2-2716:

46:

28上传

下载附件(12.58KB)

或者右击tag为input1_editText的编辑文本框,ViewCallback→Callback

52:

下载附件(174.09KB)

2、此时光标会跳转到.m文件的functioninput1_editText_Callback处,方便我们直接编辑

1.functioninput1_editText_Callback(hObject,eventdata,handles)

2.%hObject 

 

handletoinput1_editText(seeGCBO)

3.%eventdata 

 

reserved-tobedefinedinafutureversionofMATLAB

4.%handles 

structurewithhandlesanduserdata(seeGUIDATA)

5.

6.%Hint:

get(hObject,'

String'

)returnscontentsofinput1_editTextastext

7.% 

str2double(get(hObject,'

))returnscontentsof

8.% 

input1_editTextasadouble

复制代码

在上面代码下添加如下MATLAB代码

1.%handles包含figure中所有图形对象句柄的结构体,如果我们想引用tag为mytag的控件,使用handles.mytag

2.%set/get函数是用来设置/获取某个控件属性

3.%使用get命令获取第一个加数,并将它转换成数值

4.input=str2num(get(hObject,'

));

%string属性是字符串,所以必须转换成数值

6.%检验输入是否为空,是则将它置为0

7.if(isempty(input))

8. 

set(hObject,'

'

0'

9.end

10.

11.%保存handles结构体,只要在handles结构体有改变时,才需要保存

12.guidata(hObject,handles);

%这里由于handles没有改变,故这里其实没有必要,但是为了避免潜在的不必要麻烦,建议在所有Callback最后都添加该命令

3、为input2_editText_Callback添加完全相同的代码

4、编辑add_pushbutton_Callback回调函数,使用上面提到的方法,将光标定位到functionadd_pushbutton_Callback处

1.%---Executesonbuttonpressinadd_pushbutton.

2.functionadd_pushbutton_Callback(hObject,eventdata,handles)

3.%hObject 

handletoadd_pushbutton(seeGCBO)

4.%eventdata 

5.%handles 

在后面我们添加上如下代码

1.a=get(handles.input1_editText,'

);

2.b=get(handles.input2_editText,'

3.%a和b是字符串变量,我们需要使用str2double函数将其转换为数值

4.%然后才能相加,否则字符串是没法相加的

5.total=str2num(a)+str2num(b);

%格式转换,转换为数值

6.%由于string属性是字符串,所以必须将两个数的和转换为字符串

7.c=num2str(total);

%转换为字符串

将结果赋值给answer_staticText空间的string属性,于是就可以显示结果了

9.set(handles.answer_staticText,'

c);

10.guidata(hObject,handles);

%更新结构体

恭喜您,到此为此这个GUI程序就完成了!

接下来就可以运行和演示它了!

有一个小技巧要告诉大家的,如果您在第一次保存GUI程序时,不想让Matlab为每一个callback回调函数自动生成注释文本,可以如下操作:

File→Preferences..

56上传

下载附件(21.54KB)

如果不想让Matlab自动生成fig文件,而只是生成M文件,可以如下操作:

Tools→GUIOption

四、GUI程序打开、运行和发布

1、想在GUIDE中打开一个写好的GUI程序,可有两种方法

1.1如上面所说的,在打开GUIDE界面时,我们可以选择“OpenExistingGUI”,然后选中你需要打开的GUI程序

04:

下载附件(74.25KB)

1.2直接在CurrentDirectory选中*.fig文件,然后右击选择“OpenInGUIDE”

07:

44上传

下载附件(138.97KB)

2、运行编辑好的GUI程序方法主要有三种方法

2.1点击GUIDE工具栏的run按钮

26上传

下载附件(241Bytes)

,如下图所示

23上传

下载附件(17.77KB)

2.2从CommandWindow命令行运行,首先将MATLAB当前目录切换到*.fig和*.m文件所在目录(两个必须同在当前目录或者都在搜索路径下)

下载附件(2.51KB)

接着在CommandWindow中输入GUI的文件名(不需要扩展名)myAdder,然后回车

下载附件(9.61KB)

2.3直接在CurrentDirectory中选中myAdder.m,右击选择“RunFile”即可

通过上面三种方法中任意一种,GUI程序将开始运行,并显示如下

21上传

下载附件(10.56KB)

3、执行GUI程序功能

在两个文本框中输入分别输入两个加数,然后点击Add!

按钮,此时和将显示在“=”右边的文本框中!

五、程序常见问题(bug)解答

如果你的GUI程序没有正确运行,或者频频报错,而苦于没法找到错误在哪里,这里有几条小技巧希望能帮助您找到bug。

1、如果是语法错误,CommandWindow中会以命令行的形式告诉您bug所在的文件、行号,以及简短的错误描述,当然摆平这样的bug你必要有一定Matlab基础。

2、确保您的变量名在整个代码中前后一致,注意大小写,否则不小心敲错的字母。

同理控件的tag属性在.fig和.m文件中必须同步,比如说你要获取tag为input1_editText的编辑文本框的string,此时一定注意要与代码中tag一致,即就是如下所示

这一条特别是在你重新修改某个控件的tag之后尤为值得注意。

3、在code中适当设置断点,程序运行到断点的时候会暂停,此时我们可以方便的获取程序中的中间变量值,这是一个不错的调试方法,也是最经常用到的。

(断点如何设置?

在代码左边行号旁边点击下就设置了一个断点了)

4、整个GUI程序的代码可以到这里下载

GUI_beginner.zip(4.52KB,下载次数:

565)2010-2-2715:

47:

54上传

下载次数:

565

下载积分:

贝壳-1

,你可以对比下两个程序。

5、如果你是刚开始的菜鸟,的确找不到错误在哪里,那建议您把整个过程再来一次。

当然也可以在本帖后面留言,我会及时处理的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1