- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MATLAB-GUI的简单计算器
基于MATLAB-GUI的简单计算器设计
题目:计算器
完成一个简单的计算器。
要求(但不限于):
GUI上具有数字键盘输入区域,能够进行加、减、乘、除、三角函数等基础运算。
界面简洁、美观
可能需要的控件:
Push Button
Edit Text
Pop-up Menu
1 功能介绍
本程序是一个简单的计算器程序,使用MATLAB软件编写完成。主要具有加、减、乘、除、三角函数等基础运算,并通过GUI进行程序使用的交互。程序交互界面如下:
图1 程序的交互界面
2 功能实现
首先用MATLAB?GUI功能,在绘制一个动态文本框和一个文本编辑框,以及25个命令按钮,调整好各控件大小、颜色,整体布局如图所示:
备注:软件版本:MATLAB R2011b
2.1 布局GUI
1、打开MATLAB,在Guide中新建FIG文件
2、然后双击“Blank?GUI(Default)”或单击OK键出现GUI窗口
3、添加按钮和动态文本框
4、根据按钮的作用及视觉效果做一定的修改?
对按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽量使按钮集中在动态文本框下面。最终设置的动态文本框为灰色,其他按钮均为蓝色。?
5、保存、添加功能函数?
?? 将做好的按钮及动态文本框保存后自动弹出Editor的M文本,然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。??
(1)数字按键编写。?
在function?pushbutton1_Callback(hObject,?eventdata,?handles)下输入:
global jj
a=get(handles.edit1,String);
if(strcmp(a,0.)==1)(jj==0)
set(handles.edit1,String,0.)
else
a=strcat(a,0)
set(handles.edit1,String,a)
end
jj=0
这是使用句柄handles指向对象edit1,并以字符串形式来存储数据文本框edit1的内容,并存储数个“0”,?然后由set(handles.edit1,String,a)在edit1中输出。
?同理,分别在function?pushbutton2~10_Callback(hObject,?eventdata,?handles)下给1~9数字按键下编写此类程序。?
(2)符号键:?
在function?pushbutton11_Callback(hObject,?eventdata,?handles)下输入:
?global jj
global j
a=get(handles.edit1,String)
a=strcat(a,+)
if(jj==0)
set(handles.edit1,String,a)
jj=1;
end
j=0;?
strcat的作用是将两个字符串连接起来,就是在已输入的存储数据a后添加“+”进行运算。?
然后执行set(handles.edit1,String,a)。符号键‘-’、‘*’、‘/’、‘.’与‘+’的运算函数类似,?
“平方运算”主要是由“^2”功能实现。?
function pushbutton12_Callback(hObject, eventdata, handles)
global jj
global j
a=get(handles.edit1,String)
a=strcat(a,-)
if(jj==0)
set(handles.edit1,String,a)
jj=1;
end
j=0;
function pushbutton13_Callback(hObject, eventdata, handles)
global jj
global j
a=get(handles.edit1,String)
a=strcat(a,*)
if(jj==0)
set(handles.edit1,String,a)
jj=1;
end
j=0;
function pushbutton14_Callback(hObject, eventdata, handles)
global jj
global j
a=get(handles.edit1,String)
a=strcat(a,/)
if(jj==0)
set(handles.edit1,String,a)
jj=1;
end
j=0;
function pushbutton15_Callback(hObject, eventdata, handles)
global jj
glo
您可能关注的文档
最近下载
- 中国银行新疆区分行招聘笔试试题2024 .pdf VIP
- 2025中国银行新疆区分行社会招聘笔试备考题库及答案解析.docx VIP
- 2024电能计量装置典型设计低压用电客户.docx VIP
- 粗轧机AWC液压控制系统故障原因分析和改进.pdf VIP
- 2025年中国银行社会招聘备考试题及答案解析.docx VIP
- 《草原》部编版 六年级上册语文PPT课件.ppt VIP
- 市属投资集团公司下属企业工资总额预算管理办法.pdf VIP
- 2025中国银行社会招聘考试备考题库及答案解析.docx VIP
- 2025中国银行新疆区分行社会招聘笔试模拟试题及答案解析.docx VIP
- 2025中国银行新疆区分行社会招聘笔试参考题库附答案解析.docx VIP
文档评论(0)