用MAAB制作一简单计算器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这个matlab课程设计是在GUI环境下生成的。开启MATLAB 7.0 软件,在命令窗口输入guide,即可进入GUI环境。
实验目的:(1)熟悉GUI环境,并在该环境中制作一个简单的计
算器,起功能有加,减,乘,除, cos, sin, tan。
(2)熟悉matlab软件的制作。
实验内容及结果:
进入GUI环境中双击Blank GUI (Default)出现一个窗口在该窗口中首先制作一个计算器界面如下所示:
红色的是静态编辑框,其余的是按钮。
下面我们来分析一下功能函数:
textString = get(handles.text1,'String');
textString = strcat(textString,'1');
set(handles.text1,'String',textString)
这是使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的内容,并存储数个“1”,
然后由set(handles.text1,'String','textString'在text1中输出。
同理,分别在function pushbuttonone~zero_Callback(hObject, eventdata, handles)下给1~0数字按键下编写此类程序。
function pushbuttonjia_Callback(hObject, eventdata, handles) textString = get(handles.text1,'String');
textString =strcat(textString,'+');
set(handles.text1,'String',textString)
strcat的作用是将两个字符串连接起来,就是在已输入的存储数据textString 后添加“+”进行运算。
然后执行set(handles.text1,'String',textString)。符号键‘-’、‘*’、‘/’与‘+’的运算函数类似。
function cos_Callback(hObject, eventdata, handles)
textString=handles.text1;
textString=cos(str2num(get(handles.text1,'String'))*pi/180);
set(handles.text1,'String',num2str(textString))
(get(handles.text1,'String'))*pi/180是把角度转换为弧度,这样在编程环境中才能识别,cos才能起作用。然后执行set函数,把结果输出来。同理在sin,tan的回调函数中夜输入相应的函数,只需把
textString=cos(str2num(get(handles.text1,'String'))*pi/180);
中的cos改为sin,tan即可。
function dengyu_Callback(hObject, eventdata, handles)
textString = get(handles.text1,'String');
s =eval(textString);
set(handles.text1,'String',s)
“eval”的作用是将符号表达式转换成数值表达式。
再由set(handles.text1,'String',s)输出。
现在就是操作了。保存界面后出现
点击f找到相应的函数,然后再点击它,光标会自动跳到相应的函数,在函数的下面插入如上的相应代码。
做完了以上步骤,下面我们开始运行加法:
结果是:
减法的运算:
结果是;
乘法的运算:
结果是:
除法的运算:
结果是:
Sin的运算:
结果是:
Cos的运算:
结果是:
Tan的运算:
结果是:
以上就是制作计算器的全过程。
还要详细补充的是在GUI双击Blank GUI (Default),在出现的窗口中拉动所需的用键后双击它会出现
找到8.0,可以改变字体的大小。找到
可以改变框的颜色。找到可以清空框里的字,还可以输入所需相应的字符。这里可以修改相应的函数名,便于后面出入代码。