基于matlab的计算器制作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
......
基于 MATLAB 的计算器制作从入门到高级
项目一、建立 GUI 框架
1,双击 MATLAB图标(本实例使用的是MATLAB
R2014 ),打开软件
2,打开 GUI 操作界面。有两种方式:
a、在命令行窗口输入 guide, 然后点击回车。
b、
先点击新建图标,在选择‘图形用户界面’。得
到如下窗口:
左上方有两个按钮:‘新建GUI’,打‘开现有GUI’。对于‘新
建 GUI’:下方的选择框内有你可以选择建立的GUI 类型,对于初学者一般选择第一个。下方是用来设置保存文件位
置的。
对于‘打开现有 GUI’:初学者可能会在网上下载一些 GUI 源程序,使用‘打开现有 GUI ’,再浏览到文件所在位置便可。
3、构建 GUI 框架:
在选择新建GUI 并且确定后,会弹出如下窗口:
在窗口的左边会有很多选项,可以一个个拖动编辑框内;是不是发现这些选项发挥的作用刚好就是我们平常打开一
个网页或者一个软件进行操作时的选择按钮。比较常见的有:按钮、单选按钮、拖动条、弹出式菜单等。看到这里细心
地朋友就会发现, MATLAB GUI 似乎可以开发出大型软件
哦,只要你有足够的想象力,当你从一个小白进阶到一个高
手之后,你可以做到的。
本次计算器制作只需要用到静态文本(或者是动态文本)用来做显示器,按钮(用来操作)。也可以添加一个面板用来修饰。
在拖出的选项上双击,会得出该选项的属性栏,比如说双击一个按钮选项,你会得到:
这个属性框比较复杂,没有必要一个个说清楚(有兴趣的可以自己研究,其实理解起来也挺简单的)
本次计算器制作,我们只需要知道以下几个:
a、 BackgroundColor 取值为颜色的预定义字符或 RGB
数值;缺省(就是默认的意思)值为浅灰色;
b、 ForegroundColor 取值为颜色的预定义字符或 RGB 数
值,该属性定义控件对象标题字符的颜色;缺省值为黑
色;
c、 String 取值为字符串矩阵或块数组,定义控件对象标
题或选项内容;
d、 FontName取值为控件标题等字体的字库名;
e、 FontSize取值为数值,控制字体大小;
f、 Tag 取值为字符串,定义了控件的标识值,在任何
程序中都可以通过这个标识值控制该控件对象;
g、 Style 取值可以是pushbutton(缺省值),
radiobutton, checkbox, edit, text, slider, frame,
popupmenu 或 listbox ;
项目二、简单加法器的制作
1、框架准备
‘加法器’:使用静态文本,在 string 处将文本修改为(加法器),在 fontsize 可修改字体大小,在 BackgroundColor 处可修改背景颜色。
‘白色编辑框’:使用可编辑文本,同样在 string 处把文本清除,在 fontsize 修改字体大小。
‘加号( + )’、等‘号( = )’按钮:同理按上述方法
修改文本和字体大小。
2、程序准备:
先点击加号右键选择——查看回调—— callback 。会得到绿色字体(一般为 MATLAB 程序注释)包围的程序,这个
+程序就编辑在此段程序的下方,代表点击该按钮后将要执行的命令。
%--- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
%eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with handles and user
data (see GUIDATA)
a=get(handles.edit1, 'string' );
b=get(handles.edit2,'string' );
c=str2num(a)+str2num(b);
set(handles.edit3, 'string' ,c)
3、程序阅读
a=get(handles.edit1, 'string' );
MATLAB 的一大亮点就是它包含了大量功能强大的函数,
初学者在编写 MATLAB 命令时,只需要明确函数调用时的格
式,再输入相应的数据即可。通常可以百度搜索函数格式、功能及其用法。或者借助 MATLAB 本身的 help 命令:在命令
行窗口中输入help get再按回车便会得到检索结果(再点
击get 的参考页)。
这里有详细的函数介绍(全英文,要求有一定的英文水平
哦)
回到程序段
‘ a=表’示把右边的运算结果赋值给a
get 是函数,()内为运用该函数时需要输入的一些相关
量
handles.( 注意符号哦,此处为点而不是逗号 ),为函数句柄,不深究。
edit1, 'string' :表示获取 edit1 的字符串,'string'是该函数内不能缺少的一个量,string 字面意思是字符串,通俗来说就是edit1 中的内容为字符串。这里又涉及到‘edit1 ’和‘字符串’两个概念
‘edit1 ’——双击‘编辑框’按钮打开属性:找到如下
两个选项
上文提到 Tag 取值为字符串,定义了控件的标识值,在任
何程序中都可以通过这个标识值控制该控件对象;既然要对可
编辑文本进行操作,那么函数中自然免不了加入文本的标识值(记住它放在 get 函数中的位置就行)
字符串——在 MATLAB 中一串数字可以有两个身份:数
字和字符串。当它是数字的时候可以正常的运算,而当他是
字符时,就类似一段文字,没有办法对它进行运算处理的
(当然作为字符串处理时有它的优势)。我们可以调用
相关函数来达到字符串和数字的相互转换。
a=get(handles.edit1, 'string' );
通过以上分析,这条代码的意思就很明确了:获取 edit1 内
的字符串( string )再赋值给 a
b=get(handles.edit2,'string' );