Matlab计算器实验(GUI设计)
实验要求
a) 熟悉MATLAB变量、函数、程序流程
b) 熟悉MATLAB计算、输入输出、图形化显示
c) 熟悉MATLAB的GUI设计
实验环境
a) Matlab R2018
实验内容
- 图形界面设计。
- 关键函数。
(1)包含基本的图形界面,常见的0到9数字按键,小数点,加减乘除,等于号等,能够正确的计算并显示结果;
(2)添加按键和选项,让计算器可以绘制正弦余弦对数等常见函数,用户可以选择不同的线型(虚线实线等)和线的颜色;
(3)选做,增加计算器的一个或多个额外功能,例如,随机显示表情包,简单的手头剪刀布游戏,或者自由设计的一些其它功能。
实验过程
整体设计思路:
(涉及到算法实现的实验需阐述算法的逻辑关系)
计算器基础任务思路:
1、在显示框显示数字及运算符
2、clac控件计算式子,用eval函数计算显示框内的matlab表达式,用numstr函数把数字转换成字符数组输出
3、clear控件给显示框赋值为空
4、back控件使用str(1:end-1)的方法来消除最后一位
画函数图像思路:
首先在固定地方汇出坐标轴,再通过plot函数来画图像。例如画sin函数图像:
设置函数曲线颜色、类型等通过set函数来改变,需要注意的是,此时画好的函数图像在其他控件中,为了避免重复画图,减小代码量,通过设置一个全局变量,然后通过句柄索引赋值给set函数,从而改变当前所画图像的属性。
为了美观,在计算器表面添加了随机显示图片功能。首先得找若干图片并且把图片放在app的相同目录下。然后添加一个图片显示控件,通过rand函数产生随机的效果,调用以下代码即可:
同时增加一个剪刀石头布的小游戏,玩家点击剪刀、石头或布的任一控件,此时电脑通过产生随机数来出拳,在图片显示区(图片显示与上个步骤类似)会各自显示出玩家和电脑的出拳结果,并且通过一个灯来表示谁获得胜利。未开始是绿灯,玩家赢了是蓝灯,输了是红灯,平局则为黄灯。
基础计算器代码:
计算器基础任务思路:
1、在显示框显示数字及运算符
2、clac控件计算式子,用eval函数计算显示框内的matlab表达式,用numstr函数把数字转换成字符数组输出
3、clear控件给显示框赋值为空
4、back控件使用str(1:end-1)的方法来消除最后一位
画函数图像思路:
首先在固定地方汇出坐标轴,再通过plot函数来画图像。例如画sin函数图像:
设置函数曲线颜色、类型等通过set函数来改变,需要注意的是,此时画好的函数图像在其他控件中,为了避免重复画图,减小代码量,通过设置一个全局变量,然后通过句柄索引赋值给set函数,从而改变当前所画图像的属性。
为了美观,在计算器表面添加了随机显示图片功能。首先得找若干图片并且把图片放在app的相同目录下。然后添加一个图片显示控件,通过rand函数产生随机的效果,调用以下代码即可:
同时增加一个剪刀石头布的小游戏,玩家点击剪刀、石头或布的任一控件,此时电脑通过产生随机数来出拳,在图片显示区(图片显示与上个步骤类似)会各自显示出玩家和电脑的出拳结果,并且通过一个灯来表示谁获得胜利。未开始是绿灯,玩家赢了是蓝灯,输了是红灯,平局则为黄灯。
基础计算器代码:
画函数图像代码:
包括四种基本的三角函数sin,cos,tan,cot
在下拉框中可选对数函数和幂函数
改变线条颜色的代码:
改变线条的宽度:
改变线条的类型:
任务3:
通过按下change键可随机变化不同的图片:
剪刀石头布的小游戏,玩家赢了亮蓝灯,输了亮红灯,平局亮黄灯: