当前位置:文档之家› 基于MATLAB科学计算器

基于MATLAB科学计算器

目录计算器得效果图 ........................................................................... 错误!未定义书签。

一、GUI设计界面: (3)1。

打开GUI (3)2。

添加按钮 (3)3。

根据按钮得作用及视觉效果做一定得修改: (4)4。

保存、添加功能函数 (4)(1)数字键编写 (4)(2)符号键得编写 (4)(3)运算符“=”得编写 (5)(4)按键“←back"得编写 (5)(5)按键“清空”得编写 (5)(6)按键“退出”得编写 (5)(7)按键“二进制数转十进制数"得编写 (5)(8)按键“十进制数转二进制数”得编写 (5)二、计算器得使用 (5)除法运算(÷) (5)平方运算(^2) (6)函数cos (∏/3)得计算 (6)函数arctan (∏/3)得计算 (7)以2为底得对数得计算(log 2) (7)十进制数转二进制数得计算(调用dec2bin函数) (8)二进制数转十进制数得计算(调用bin2dec函数) (8)三、附各按键得程序源代码 (9)四、问题与解决方法 (14)五、心得体会 (14)参考文献 (15)计算器得效果图:一、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)得计算函数arctan (∏/3)得计算以2为底得对数得计算(log 2)十进制数转二进制数得计算(调用dec2bin函数)二进制数转十进制数得计算(调用bin2dec函数)经过计算,这些结果均与实际结果相吻合,计算器得功能实现得完好且能实现较大数值得运算,计算结果用科学技术法表示。

三、附各按键得程序源代码按键“0-9、+、—、×、÷、、、= 、x^2 ”(通过get函数获得输入得字符,函数strcat 获得相应字符,并用set函数进行显示输出):function pushbutton1_Callback(hObject, eventdata, handles) textString=get(handles。

text1,'String')textString=strcat(textString,'0')set(handles。

text1,’String',textString)function pushbutton2_Callback(hObject, eventdata, handles) textString=get(handles。

text1,'String')textString=strcat(textString,’1')set(handles、text1,'String’,textString)function pushbutton3_Callback(hObject, eventdata, handles) textString=get(handles、text1,'String')textString=strcat(textString,'2’)set(handles。

text1,'String’,textString)function pushbutton4_Callback(hObject, eventdata, handles) textString=get(handles、text1,’String’)textString=strcat(textString,’3’)set(handles。

text1,'String’,textString)function pushbutton5_Callback(hObject, eventdata, handles) textString=get(handles、text1,'String’)textString=strcat(textString,'4')set(handles、text1,'String’,textString)function pushbutton6_Callback(hObject, eventdata, handles) textString=get(handles。

text1,’String’)textString=strcat(textString,'5')set(handles、text1,'String',textString)function pushbutton7_Callback(hObject, eventdata, handles) textString=get(handles。

text1,’String')textString=strcat(textString,’6’)set(handles、text1,’String’,textString)function pushbutton8_Callback(hObject, eventdata, handles) textString=get(handles、text1,’String’)textString=strcat(textString,'7’)set(handles。

tex t1,'String’,textString)function pushbutton9_Callback(hObject, eventdata, handles) textString=get(handles。

text1,'String’)textString=strcat(textString,’8')set(handles。

text1,'String’,textString)function pushbutton10_Callback(hObject, eventdata, handles) textString=get(handles、text1,'String')textString=strcat(textString,’9’)set(handles。

text1,’String',textString)function pushbutton11_Callback(hObject, eventdata, handles) textString=get(handles、text1,’String')textString=strcat(textString,'+’)set(handles。

相关主题