Hello,大家好。我是全宇宙第二皮的NeverMore。从今天开始,MATLAB那些事儿的公众号将正式开更了!首先,非常感谢各位亲爱的小伙伴们的关注,你们是全宇宙最帅气和最美丽的人~

今天想跟大家分享一个简单的案例——基于MATLAB GUI的简易计算器的设计。在进行计算器设计的时候,主要考虑到计算器的易用性、功能的常用程度和人机之间的良好交互。MATLAB作为一个商用数学软件,内置了多种函数,易于调用,完美的解决了用户重复编程问题,同时其GUI界面对于用户来说在视觉上更易于接受。因此,本次的案例主要利用GUI界面制作一个简易计算器。

整体计算器的设计可以分为以下三大步骤:1.GUI界面的设计;2.各个功能按钮的回调函数编辑;3.程序的运行和测试。

首先,我们利用GUI界面编辑栏的Static Text(静态文本框)、EditText(可编辑文本框)和Push Button(按钮)工具构造如下图所示的计算器界面。

接下来的任务就是对各个功能赋予响应的功能。整个功能区可以分为两大部分:1.单击按钮直接显示结果区域;2.按等于号显示结果区域。第一部分包含除加减乘除外的所有按钮;第二部分主要由加减乘除功能构成。

为实现计算器的功能,需要解决的第一个问题是如何获取动态文本框中的信息及向其写入信息。get(handles.edit1,'String')和set(handles.edit1,'String')语句可以轻易地实现上述两种功能。不过需要注意的一点是,上述语句的操作对象都是字符串类型数据,因此在进行后续计算时,需要通过str2num函数将其转化为数值型数据。

第二个问题是直接显示结果按钮功能的实现,该问题可以通过MATLAB内置函数轻易实现。如sin功能按钮的主要计算语句为:ppp=sin(pp)。

第三个问题就是按等于号显示结果功能键的实现,由于多个功能都是通过等号键输出结果值的。那么等号键是如何确定应该输出加减乘除哪个功能的结果那?switch—case语句为实现区分功能提供了良好的解决办法。通过定义一个全局变量cal,当用户按下加减乘除按钮时,分别将其赋值为‘+’、‘-’、‘*’、‘/’。进而利用switch—case语句进行判断,实现对应结果值的输出。

以上就是本次计算器设计中的关键点。有需要源码的小伙伴也可以点击菜单栏里面的【我要源码】,系统将会自动推送相应链接。最后欢迎大家关注我们的公众号,后续我们将继续推出相应的文章,也欢迎大家积极投稿哦~