基于MATLAB科学计算器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
计算器的效果图 ................................................... 错误!未定义书签。
一、GUI设计界面: (3)
1.打开GUI (3)
2.添加按钮 (4)
3.根据按钮的作用及视觉效果做一定的修改: (4)
4.保存、添加功能函数 (4)
(1)数字键编写 (4)
(2)符号键的编写 (5)
(3)运算符“=”的编写 (5)
(4)按键“←back”的编写 (5)
(5)按键“清空”的编写 (6)
(6)按键“退出”的编写 (6)
(7)按键“二进制数转十进制数”的编写 (6)
(8)按键“十进制数转二进制数”的编写 (6)
二、计算器的使用 (6)
除法运算(÷) (6)
平方运算(^2) (7)
函数cos (∏/3)的计算 (7)
函数arctan (∏/3)的计算 (8)
以2为底的对数的计算(log 2) (9)
十进制数转二进制数的计算(调用dec2bin函数) (9)
二进制数转十进制数的计算(调用bin2dec函数) (9)
三、附各按键的程序源代码 (10)
四、问题和解决方法 (16)
五、心得体会 (17)
参考文献 (17)
计算器的效果图:
一、GUI设计界面:
1.打开GUI
输入Guide 回车或者在工具栏上点击图标打开Guide 窗口:
2.添加按钮
3.根据按钮的作用及视觉效果做一定的修改:
双击按钮(Puch Button)进入按键属性修改显示字符串大小、字体和颜色,然后对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。
4.保存、添加功能函数
把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。
(1)数字键编写
在function pushbutton1_Callback(hObject, eventdata, handles)下输入:textString = get(handles.text1,'String');
textString =strcat(textString,'0');
set(handles.text1,'String',textString)
这是使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的容,并存储数个“0”,
然后由set(handles.text1,'String','textString'在text1中输出。
同理,分别在function pushbutton2~10_Callback(hObject, eventdata, handles)下给1~9数字按键下编写此类程序。
(2)符号键的编写
function pushbutton12_Callback(hObject, eventdata, handles)
textString = get(handles.text1,'String');
textString =strcat(textString,'÷');
set(handles.text1,'String',textString)
strcat的作用是将两个字符串连接起来,就是在已输入的存储数据textString后添加“÷”进行运算。
然后执行set(handles.text1,'String',textString)。符号键‘-’、‘*’、‘/’与‘÷’的运算函数类似。“平方运算”,主要是由“^2”功能实现。
(3)运算符“=”的编写
textString = get(handles.text1,'String');
ans =eval(textString);
“eval”的作用是将符号表达式转换成数值表达式。
再由set(handles.text1,'String',ans)输出。
(4)按键“←back”的编写
textString=get(handles.text1, 'String')
w=length(textString)
t=char(textString)
textString=t(1:w-1) %将w个字符串转成w-1个,即删除了末位字符set(handles.text1,'String',textString)
(5)按键“清空”的编写
set(handles.text1,'String','')
(6)按键“退出”的编写
close(gcf);
(7)按键“二进制数转十进制数”的编写
textString=get(handles.text1,'String')
e = bin2dec(textString);
set(handles.text1,'String',e);
(8)按键“十进制数转二进制数”的编写
textString = get(handles.text1,'String');
textString = strcat(textString,'dec2bin(');
set(handles.text1,'String',textString)
二、计算器的使用
除法运算(÷)
平方运算(^2)
函数cos (∏/3)的计算