Matlab计算器实验(GUI设计)

实验要求

a) 熟悉MATLAB变量、函数、程序流程
b) 熟悉MATLAB计算、输入输出、图形化显示
c) 熟悉MATLAB的GUI设计

实验环境

a) Matlab R2018

实验内容

  1. 图形界面设计。
  2. 关键函数。
    (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键可随机变化不同的图片:
在这里插入图片描述
剪刀石头布的小游戏,玩家赢了亮蓝灯,输了亮红灯,平局亮黄灯:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验结果

在这里插入图片描述

  • 32
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值