MATLAB科学计算器设计——GUI设计(含设计源代码)
MATLAB科学计算器设计GUI设计(含源代码) 19 / 19目录计算器的效果图2第一章 GUI设计界面31.1打开GUI31.2.添加按钮31.3.根据按钮的作用及视觉效果做一定的修改41.4.保存、添加功能函数41.4.1 数字键编写41.4.2 符号键的编写41.4.3 运算符“=”的编写51.4.4 按键“back”的编写51.4.5 按键“清空”的编写51.4.6 按键“退出”的编写51.4.7 按键“二进制数转十进制数”的编写51.4.8 按键“十进制数转二进制数”的编写5第二章 计算器的使用62.1 除法运算()62.2 平方运算(2)62.3 函数cos (/3) 的计算72.4 函数arctan (/3) 的计算72.5 以2为底的对数(log 2)的计算82.6 十进制数转二进制数的计算82.7 二进制数转十进制数的计算9第三章 各按键的程序源代码10第四章 问题和解决方法15第五章 心得体会16参考文献17计算器的效果图:第一章 GUI设计界面:1.1打开GUI输入Guide 回车或者在工具栏上点击图标打开Guide 窗口:图 11.2.添加按钮图 21.3.根据按钮的作用及视觉效果做一定的修改双击按钮(Puch Button)进入按键属性修改显示字符串大小、字体和颜色,然后对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。1.4.保存、添加功能函数 把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。1.4.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 pushbutton210_Callback(hObject, eventdata, handles)下给19数字按键下编写此类程序。1.4.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”功能实现。1.4.3 运算符“=”的编写textString = get(handles.text1,String);ans =eval(textString);“eval”的作用是将符号表达式转换成数值表达式。再由set(handles.text1,String,ans)输出。1.4.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)1.4.5 按键“清空”的编写set(handles.text1,String,)1.4.6 按键“退出”的编写close(gcf);1.4.7 按键“二进制数转十进制数”的编写 textString=get(handles.text1,String)e = bin2dec(textString); set(handles.text1,String,e);1.4.8 按键“十进制数转二进制数”的编写 textString = get(handles.text1,String);textString = strcat(textString,dec2bin();set(handles.text1,String,textString)第二章 计算器的使用2.1 除法运算() 图 3图 42.2 平方运算(2)图 5图 62.3 函数cos (/3) 的计算 图 7图 82.4 函数arctan (/3) 的计算 图 9图 102.5 以2为底的对数(log 2)的计算图 11 图 122.6 十进制数转二进制数的计算(调用dec2bin函数)图 13图 142.7 二进制数转十进制数的计算(调用bin2dec函数)图 15 图 16经过计算,这些结果均与实际结果相吻合,计算器的功能实现的完好且能实现较大数值的运算,计算结果用科学技术法表示。第三章 各按键的程序源代码按键“0-9、+、-、.、= 、x2 ”(通过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.text1,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.text1,String,textString)function pushbutton12_Callback(hObject, eventdata, handles)textString=get(handles.text1,String)textString=strcat(textString,-)set(handles.text1,String,textString)function pushbutton13_Callback(hObject, eventdata, handles)textString=get(handles.text1,String)textString=strcat(textString,*
收藏
- 资源描述:
-
MATLAB科学计算器设计
——GUI设计
(含源代码)
19 / 19
目录
计算器的效果图 2
第一章 GUI设计界面 3
1.1打开GUI 3
1.2.添加按钮 3
1.3.根据按钮的作用及视觉效果做一定的修改 4
1.4.保存、添加功能函数 4
1.4.1 数字键编写 4
1.4.2 符号键的编写 4
1.4.3 运算符“=”的编写 5
1.4.4 按键“←back”的编写 5
1.4.5 按键“清空”的编写 5
1.4.6 按键“退出”的编写 5
1.4.7 按键“二进制数转十进制数”的编写 5
1.4.8 按键“十进制数转二进制数”的编写 5
第二章 计算器的使用 6
2.1 除法运算(÷) 6
2.2 平方运算(^2) 6
2.3 函数cos (∏/3) 的计算 7
2.4 函数arctan (∏/3) 的计算 7
2.5 以2为底的对数(log 2)的计算 8
2.6 十进制数转二进制数的计算 8
2.7 二进制数转十进制数的计算 9
第三章 各按键的程序源代码 10
第四章 问题和解决方法 15
第五章 心得体会 16
参考文献 17
计算器的效果图:
第一章 GUI设计界面:
1.1打开GUI
输入Guide 回车或者在工具栏上点击图标打开Guide 窗口:
图 1
1.2.添加按钮
图 2
1.3.根据按钮的作用及视觉效果做一定的修改
双击按钮(Puch Button)进入按键属性修改显示字符串大小、字体和颜色,然后对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。
1.4.保存、添加功能函数
把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。
1.4.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数字按键下编写此类程序。
1.4.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”功能实现。
1.4.3 运算符“=”的编写
textString = get(handles.text1,'String');
ans =eval(textString);
“eval”的作用是将符号表达式转换成数值表达式。
再由set(handles.text1,'String',ans)输出。
1.4.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)
1.4.5 按键“清空”的编写
set(handles.text1,'String','')
1.4.6 按键“退出”的编写
close(gcf);
1.4.7 按键“二进制数转十进制数”的编写
textString=get(handles.text1,'String')
e = bin2dec(textString);
set(handles.text1,'String',e);
1.4.8 按键“十进制数转二进制数”的编写
textString = get(handles.text1,'String');
textString = strcat(textString,'dec2bin(');
set(handles.text1,'String',textString)
第二章 计算器的使用
2.1 除法运算(÷)
图 3
图 4
2.2 平方运算(^2)
图 5
图 6
2.3 函数cos (∏/3) 的计算
图 7
图 8
2.4 函数arctan (∏/3) 的计算
图 9
图 10
2.5 以2为底的对数(log 2)的计算
图 11
图 12
2.6 十进制数转二进制数的计算(调用dec2bin函数)
图 13
图 14
2.7 二进制数转十进制数的计算(调用bin2dec函数)
图 15
图 16
经过计算,这些结果均与实际结果相吻合,计算器的功能实现的完好且能实现较大数值的运算,计算结果用科学技术法表示。
第三章 各按键的程序源代码
按键“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.text1,'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.text1,'String',textString)
function pushbutton12_Callback(hObject, eventdata, handles)
textString=get(handles.text1,'String')
textString=strcat(textString,'-')
set(handles.text1,'String',textString)
function pushbutton13_Callback(hObject, eventdata, handles)
textString=get(handles.text1,'String')
textString=strcat(textString,'*
展开阅读全文