欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于MATLAB科学计算器.docx

    • 资源ID:12017016       资源大小:244.02KB        全文页数:19页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于MATLAB科学计算器.docx

    1、基于MATLAB科学计算器计算器的效果图:一、GUI设计界面:1.打开GUI输入Guide 回车或者在工具栏上点击图标打开Guide 窗口:2.添加按钮3.根据按钮的作用及视觉效果做一定的修改:双击按钮(Puch Button)进入按键属性修改显示字符串大小、字体和颜色,然后对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。4.保存、添加功能函数 把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。(1)数字键编写在function pushbutton1_Callback(hObject, eventdat

    2、a, 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数字按键

    3、下编写此类程序。(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)。符号键-、*、/与的运算函数类似。“平方运算”,

    4、主要是由“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,

    5、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,S

    6、tring,textString)二、计算器的使用除法运算() 平方运算(2)函数cos (/3) 的计算 函数arctan (/3) 的计算 以2为底的对数的计算(log 2) 十进制数转二进制数的计算(调用dec2bin函数)二进制数转十进制数的计算(调用bin2dec函数) 经过计算,这些结果均与实际结果相吻合,计算器的功能实现的完好且能实现较大数值的运算,计算结果用科学技术法表示。三、附各按键的程序源代码按键“0-9、+、-、.、= 、x2 ”(通过get函数获得输入的字符,函数strcat 获得相应字符,并用set函数进行显示输出):function pushbutton1_Call

    7、back(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)fun

    8、ction 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

    9、,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(textStri

    10、ng,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)text

    11、String=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(ha

    12、ndles.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, h

    13、andles)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,*)set(handles.text1,String,textString)function pushbutton14_Callba

    14、ck(hObject, eventdata, handles)textString=get(handles.text1,String)textString=strcat(textString,/)set(handles.text1,String,textString)function pushbutton15_Callback(hObject, eventdata, handles)textString=get(handles.text1,String)textString=strcat(textString,.)set(handles.text1,String,textString)按键“=

    15、” :function pushbutton16_Callback(hObject, eventdata, handles)textString=get(handles.text1,String)s=eval(textString)set(handles.text1,String,s)按键“x2” : function pushbutton17_Callback(hObject, eventdata, handles)textString=get(handles.text1,String)textString=strcat(textString,2)set(handles.text1,Stri

    16、ng,textString)退位键“back”:function pushbutton18_Callback(hObject, eventdata, handles)textString=get(handles.text1,String)w=length(textString)t=char(textString)textString=t(1:w-1)set(handles.text1,String,textString)清空键:function pushbutton19_Callback(hObject, eventdata, handles)set(handles.text1,String,

    17、)退出键:function pushbutton20_Callback(hObject, eventdata, handles)close(gcf);% hObject handle to pushbutton20 (see GCBO)% handles structure with handles and user data (see GUIDATA)科学计算函数:按键“”:通过get函数获得输入的字符,函数strread获得输入字符,并用sqrt函数计算结果,set函数进行显示输出textString = get(handles.text1,String);if(strcmp(textSt

    18、ring,0)=1) set(handles.text1,String,0) ;elsea = strread(textString, %f);a=sqrt(a);set(handles.text1,String,a)end按键“sin” (通过get函数获得输入的字符,函数strread获得输入字符,并用sin函数计算结果,set函数进行显示输出):textString = get(handles.text1,String);textString = strcat(textString,sin();set(handles.text1,String,textString)按键“cos” :te

    19、xtString = get(handles.text1,String);textString = strcat(textString,();set(handles.text1,String,textString)按键“tan” : textString = get(handles.text1,String);if(strcmp(textString,1.57)=1)|(strcmp(textString,-1.57)=1) set(handles.edit1,String,inf);elsetextString = strcat(textString,tan();set(handles.te

    20、xt1,String,textString)end按键“arcsin” : textString = get(handles.text1,String);textString = strcat(textString,asin();set(handles.text1,String,textString)按键“arccos” : textString = get(handles.text1,String);textString = strcat(textString,acos();set(handles.text1,String,textString)按键“arctan” : textString

    21、 = get(handles.text1,String);textString = strcat(textString,atan();set(handles.text1,String,textString)按键“log2” : textString = get(handles.text1,String);if(strcmp(textString,0)=1) set(handles.text1,String,error) ;elsea = strread(textString, %f);a=log2(a);set(handles.text1,String,a)end按键“(” : textStr

    22、ing = get(handles.text1,String);textString = strcat(textString, ();set(handles.text1,String,textString)按键“)” : textString = get(handles.text1,String);textString = strcat(textString,);set(handles.text1,String,textString)按键“二进制数转十进制数” :textString=get(handles.text1,String)e = bin2dec(textString); set(h

    23、andles.text1,String,e);按键“十进制数转二进制数” :textString = get(handles.text1,String);textString = strcat(textString,dec2bin();set(handles.text1,String,textString)四、问题和解决方法1.本次课程设计中开始时遇到的问题是数据进行清零后,再输入其他的数据,清零后的字符0仍会保留,会影响其他数据,解决办法是将数据用空格替换掉就实现了清空: set(handles.text1,String,)2.在定义正弦余弦等函数的时候,需要注意其定义域,值域的问题。3开始

    24、时我的“sin” 函数编程如下:textString = get(handles.text1,String);a = strread(textString, %f);a=sin(a);set(handles.text1,String,a)%这样只能在输入完数据后按“sin”键实现运算,很不直观。修改后可以实现按下sin键后显示 “sin(”再输入要运算的数据之后加上“)”按下“=”键后就可以运算出结果了,这样相对更直观明了。textString = get(handles.text1,String);textString = strcat(textString,sin();set(handle

    25、s.text1,String,textString)4.在编写十进制数转二进制数时,计算的结果总是会在前面多出“110”,使得转换结果错误,后来通过精简改进程序,直接调用des2bin函数计算,所得的测试结果都是正确的。五、心得体会本次课程设计用MATLAB的GUI接口设计一个简单的计算器,主要对数字及运算“0-9、+、-、.、= 、x2 、sin、arcsin、log2”等的代码程序的了解,在设计的过程中也遇到不少的问题,通过和同学的讨论,和老师的交流,让我知道了自己的错误和不足,最终顺利地解决了这些问题。这次课程设计,使我进一步加深了对课本知识的了解和掌握,巩固了所学的基本知识,更加体会到了MATLAB功能的丰富,更加深刻的认识了MATLAB,熟练了编程设计。其中对计算器按键的颜色、大小和排版,使我的思维更加的缜密,让我在以后的工作生活中,得到了思维的锻炼。在以后学习中,我会更加刻苦,以锻炼自己的能力。参考文献(1)卫国.MATLAB程序设计与应用.:高等教育出版(2)阿奇.MATLAB实用教程.:电子工业(3)罗华飞.MATLAB GUI设计学习手记.:航空航天大学 ( 4 ) 威.MATLAB基础与编程入门.:电子科技大学(5)屹.MATLAB通信仿真开发手册.:国防工业


    注意事项

    本文(基于MATLAB科学计算器.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开