版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、工程設(shè)計(jì)報(bào)告設(shè)計(jì)題目: 基于Matlab的簡(jiǎn)易計(jì)算器 學(xué) 院: 專(zhuān) 業(yè): 班 級(jí): 學(xué) 號(hào): 姓 名: 電子郵件: 日 期: 2015年12 月 成 績(jī): 指導(dǎo)教師: 裝訂線 西 安 電 子 科 技 大 學(xué)電 子 工 程 學(xué) 院工 程 設(shè) 計(jì) 任 務(wù) 書(shū)學(xué)生姓名 指導(dǎo)教師 職稱(chēng) 學(xué)生學(xué)號(hào) 專(zhuān)業(yè) 題目 基于Matlab的簡(jiǎn)易計(jì)算器 任務(wù)與要求任務(wù)如下:利用MATLAB GUI設(shè)計(jì)實(shí)現(xiàn)一個(gè)圖形用戶(hù)界面的計(jì)算器程序,實(shí)現(xiàn):A.實(shí)現(xiàn)十進(jìn)制數(shù)的加、減、乘、除、簡(jiǎn)單計(jì)算。B. 科學(xué)計(jì)算函數(shù),包括正弦、余弦、正切、余切、開(kāi)方、指數(shù)等函數(shù)運(yùn)行。C. 有清除鍵,能清除操作。 要求如下:A熟練掌握Matlab G
2、UI界面的設(shè)計(jì)與應(yīng)用B最終計(jì)算器能夠?qū)崿F(xiàn)預(yù)期的相關(guān)功能開(kāi)始日期 2015年 11月 日 完成日期 2016年1月 日 課程設(shè)計(jì)所在單位 本表格由電子工程學(xué)院網(wǎng)絡(luò)信息中心 編輯錄入 . 摘要 基于Matlab GUI計(jì)算器設(shè)計(jì)時(shí)利用GUI的創(chuàng)建圖像用戶(hù)界面進(jìn)行計(jì)算器設(shè)計(jì)。設(shè)計(jì)計(jì)算器時(shí),主要是考慮到計(jì)算器的易用性、功能的常用程度進(jìn)行計(jì)算器界面與功能的設(shè)計(jì)。通過(guò)調(diào)整控件和文本的布局及顏色,使界面簡(jiǎn)單大方、布局合理,達(dá)到界面友好的效果。計(jì)算器設(shè)計(jì)時(shí)主要利用到get和set兩個(gè)函數(shù)進(jìn)行各個(gè)控件屬性值的傳遞和設(shè)置。計(jì)算器實(shí)現(xiàn)的功能有:數(shù)字09和小數(shù)點(diǎn)的輸入顯示,平方開(kāi)方和對(duì)數(shù)的輸入顯示。進(jìn)行四則運(yùn)算、正弦
3、函數(shù)、余弦函數(shù)、正切函數(shù)以及反正弦函數(shù)、反余弦函數(shù)、反正切函數(shù)的計(jì)算等等。最后運(yùn)行調(diào)試,實(shí)現(xiàn)基于Matlab GUI的計(jì)算器的設(shè)計(jì)。關(guān)鍵詞:Matlab GUI 計(jì)算器AbstractsBased on Matlab GUI calculator design using the user interface to create images of GUI calculator design.Design calculator, mainly considering the ease of use, function calculators calculator interface and f
4、unction of the common level of design.By adjusting the control and the layout of the text and color, make the interface simple and easy, rational layout, to achieve the effect of friendly interface. Calculator design used to get and set two main function for each attribute value transfer and control
5、 Settings.Calculator the functions are: 0 9, according to input and decimal square root and logarithm of input.Arithmetic, sine function and cosine function, tangent function and the arcsine function,arccosine function, the calculation of the arctangent function and so on.Finally running debugging,
6、implementation design based on Matlab GUI calculator.Keywords: Matlab GUI calculator目錄摘要3Abstracts3目錄4第一章 緒論51.MATLAB簡(jiǎn)介:52本文安排:5第二章 GUI設(shè)計(jì)界面62.1打開(kāi)GUI72.2.添加按鈕72.3.根據(jù)按鈕的作用及視覺(jué)效果做一定的修改72.4.保存、添加功能函數(shù)82.4.1 數(shù)字鍵編寫(xiě)82.4.2 符號(hào)鍵的編寫(xiě)82.4.3 運(yùn)算符“=”的編寫(xiě)92.4.4 按鍵“back”的編寫(xiě)92.4.5 按鍵“清空”的編寫(xiě)92.4.6 按鍵“退出”的編寫(xiě)9第三章 計(jì)算器的使用和抽樣檢
7、驗(yàn)103.1 除法運(yùn)算(÷)103.2 平方運(yùn)算(2)103.3 函數(shù)cos (/3) 的計(jì)算113.4 函數(shù)arcsin(/3) 的計(jì)算113.5 以2為底的對(duì)數(shù)(log 2)的計(jì)算123.6 總結(jié):12第四章 特殊函數(shù)的源代碼及總結(jié)13函數(shù)代碼及思路:13總結(jié):?jiǎn)栴}及其優(yōu)化14第五章 心得體會(huì)16參考文獻(xiàn)17 第一章 緒論1.MATLAB簡(jiǎn)介:MATLAB是matrix和laboratory兩個(gè)詞的組合,意為矩陣工廠(矩陣實(shí)驗(yàn)室)。是由美國(guó)mathworks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系
8、統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語(yǔ)言(如C、Fortran)的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。MATLAB和Mathematica、Maple并稱(chēng)為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類(lèi)科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶(hù)界面、連接其他編程語(yǔ)言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。2本文安排:本文第一章是緒論部分,
9、主要是關(guān)于Matlab的一個(gè)北京介紹,以及對(duì)本文的一個(gè)大體上的內(nèi)容上的安排。本文第二章側(cè)重介紹了如何運(yùn)用Matlab中GUI界面功能設(shè)計(jì)一個(gè)合理的、實(shí)用的簡(jiǎn)易計(jì)算器,并且介紹了如何在設(shè)計(jì)好的計(jì)算器中添加功能函數(shù),實(shí)現(xiàn)預(yù)期的相關(guān)功能。本文第三章粗略的介紹的計(jì)算器的基本使用方法以及相關(guān)的一些計(jì)算器功能實(shí)現(xiàn)效果的檢驗(yàn),并對(duì)檢驗(yàn)結(jié)果作簡(jiǎn)單的分析介紹。本文第四章主要對(duì)部分特殊函數(shù)的源代碼作簡(jiǎn)單的分析與介紹,以及總結(jié)程序在設(shè)計(jì)過(guò)程中發(fā)現(xiàn)的問(wèn)題及其相應(yīng)的優(yōu)化方案。本文第五章是對(duì)本次作業(yè)的心得體會(huì)。本文最后是相關(guān)的參考文獻(xiàn)第二章 GUI設(shè)計(jì)界面計(jì)算器的效果圖:圖1圖22.1打開(kāi)GUI輸入Guide 回車(chē)或者在
10、工具欄上點(diǎn)擊圖標(biāo)打開(kāi)Guide 窗口:圖 32.2.添加按鈕圖 42.3.根據(jù)按鈕的作用及視覺(jué)效果做一定的修改雙擊按鈕(Puch Button)進(jìn)入按鍵屬性修改顯示字符串大小、字體和顏色,然后對(duì)按鈕的位置進(jìn)行排布,盡量使按鈕集中在靜態(tài)文本框下面。圖52.4.保存、添加功能函數(shù) 把做好的按鈕及靜態(tài)文本框保存后自動(dòng)彈出Editor的M文本,對(duì)然后對(duì)相應(yīng)的pushbutton添加功能函數(shù)。以下是相應(yīng)按鈕的功能函數(shù)。2.4.1 數(shù)字鍵編寫(xiě)在function pushbutton1_Callback(hObject, eventdata, handles)下輸入:textString = get(han
11、dles.text1,'String');textString =strcat(textString,'0');set(handles.text1,'String',textString)這是使用句柄handles指向?qū)ο髏ext1,并以字符串形式來(lái)存儲(chǔ)數(shù)據(jù)文本框text1的內(nèi)容,并存儲(chǔ)數(shù)個(gè)“0”,然后由set(handles.text1,'String','textString'在text1中輸出。同理,分別在function pushbutton210_Callback(hObject, eventdata,
12、handles)下給19數(shù)字按鍵下編寫(xiě)此類(lèi)程序。2.4.2 符號(hào)鍵的編寫(xiě)function pushbutton12_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');textString =strcat(textString,'÷');set(handles.text1,'String',textString)strcat的作用是將兩個(gè)字符串連接起來(lái),就是在已輸入的存儲(chǔ)數(shù)據(jù)textString后添加“÷”進(jìn)行運(yùn)算。然后執(zhí)行
13、set(handles.text1,'String',textString)。符號(hào)鍵-、*、/與÷的運(yùn)算函數(shù)類(lèi)似。“平方運(yùn)算”,主要是由“2”功能實(shí)現(xiàn)。2.4.3 運(yùn)算符“=”的編寫(xiě)textString = get(handles.text1,'String');ans =eval(textString);“eval”的作用是將符號(hào)表達(dá)式轉(zhuǎn)換成數(shù)值表達(dá)式。再由set(handles.text1,'String',ans)輸出。2.4.4 按鍵“back”的編寫(xiě)textString=get(handles.text1, 'Stri
14、ng')w=length(textString)t=char(textString)textString=t(1:w-1) %將w個(gè)字符串轉(zhuǎn)成w-1個(gè),即刪除了末位字符set(handles.text1,'String',textString)2.4.5 按鍵“清空”的編寫(xiě)set(handles.text1,'String','')2.4.6 按鍵“退出”的編寫(xiě)close(gcf);第三章 計(jì)算器的使用和抽樣檢驗(yàn)3.1 除法運(yùn)算(÷) 16 / 16圖 6圖 7由結(jié)果可知,除法運(yùn)算功能正確實(shí)現(xiàn)。3.2 平方運(yùn)算(2)圖 8圖 9
15、由結(jié)果可知,乘方運(yùn)算功能正確實(shí)現(xiàn)。3.3 函數(shù)cos (/3) 的計(jì)算 圖 10圖 11由結(jié)果可知,cos()運(yùn)算功能正確實(shí)現(xiàn)。3.4 函數(shù)arcsin(/3) 的計(jì)算 圖 12圖 13由結(jié)果可知,arcsin()運(yùn)算功能正確實(shí)現(xiàn)。3.5 以2為底的對(duì)數(shù)(log 2)的計(jì)算圖 14 圖 15調(diào)試的時(shí)候發(fā)現(xiàn)一個(gè)問(wèn)題,發(fā)現(xiàn)以2為底的對(duì)數(shù)(log 2)計(jì)算需要先輸入數(shù)字,然后點(diǎn)擊log2按鈕鍵直接可以計(jì)算出正確的結(jié)果,但是不能按照普通計(jì)算器那樣先安log2按鈕鍵然后輸入要計(jì)算的數(shù)字,再安=鍵顯示結(jié)果,說(shuō)明書(shū)寫(xiě)的程序還有一些bug,但是我調(diào)試后仍然沒(méi)有能夠發(fā)現(xiàn)問(wèn)題所在,所以該功能還需謹(jǐn)慎使用。13.6
16、 總結(jié):在對(duì)計(jì)算器其他功能鍵進(jìn)行的檢驗(yàn)結(jié)果顯示,該計(jì)算器除了log2的計(jì)算功能存在bug外,其他功能計(jì)算的結(jié)果均與實(shí)際結(jié)果相吻合,計(jì)算器的功能實(shí)現(xiàn)的基本完好且能實(shí)現(xiàn)較大數(shù)值的運(yùn)算,計(jì)算結(jié)果用科學(xué)技術(shù)法表示。第四章 特殊函數(shù)的源代碼及總結(jié)函數(shù)代碼及思路:4.1 按鍵“”:通過(guò)get函數(shù)獲得輸入的字符,函數(shù)strread獲得輸入字符,并用sqrt函數(shù)計(jì)算結(jié)果,set函數(shù)進(jìn)行顯示輸出textString = get(handles.text1,'String');if(strcmp(textString,'0')=1) set(handles.text1,'S
17、tring','0') ;elsea = strread(textString, '%f');a=sqrt(a);set(handles.text1,'String',a)end4.2 按鍵“sin”通過(guò)get函數(shù)獲得輸入的字符,函數(shù)strread獲得輸入字符,并用sin函數(shù)計(jì)算結(jié)果,set函數(shù)進(jìn)行顯示輸出:textString = get(handles.text1,'String');textString = strcat(textString,'sin(');set(handles.text1,
18、9;String',textString)4.3 按鍵“cos” :textString = get(handles.text1,'String');textString = strcat(textString,'cos(');set(handles.text1,'String',textString)4.4 按鍵“tan” : textString = get(handles.text1,'String');if(strcmp(textString,'1.57')=1)|(strcmp(textStrin
19、g,'-1.57')=1) set(handles.edit1,'String','inf');elsetextString = strcat(textString,'tan(');set(handles.text1,'String',textString)end4.5 按鍵“arcsin” : textString = get(handles.text1,'String');textString = strcat(textString,'asin(');set(handles.te
20、xt1,'String',textString)4.6 按鍵“arccos” : textString = get(handles.text1,'String');textString = strcat(textString,'acos(');set(handles.text1,'String',textString)4.7 按鍵“arctan” : textString = get(handles.text1,'String');textString = strcat(textString,'atan(&
21、#39;);set(handles.text1,'String',textString)4.8 按鍵“l(fā)og2” : 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總結(jié)
22、:?jiǎn)栴}及其優(yōu)化1.本次課程設(shè)計(jì)中開(kāi)始時(shí)遇到的問(wèn)題是數(shù)據(jù)進(jìn)行清零后,再輸入其他的數(shù)據(jù),清零后的字符0仍會(huì)保留,會(huì)影響其他數(shù)據(jù),解決辦法是將數(shù)據(jù)用空格替換掉就實(shí)現(xiàn)了清空: set(handles.text1,'String','')2.在定義正弦余弦等函數(shù)的時(shí)候,需要注意其定義域,值域的問(wèn)題。3開(kāi)始時(shí)我的“sin” 函數(shù)編程如下:textString = get(handles.text1,'String');a = strread(textString, '%f'); a=sin(a);set(handles.text1,'String',a)%這樣只能在輸入完數(shù)據(jù)后按“sin”鍵實(shí)現(xiàn)運(yùn)算,很不直觀。修改后可以實(shí)現(xiàn)按下sin鍵后顯示 “sin(”再輸入要運(yùn)算的數(shù)據(jù)之后加上“)”按下“=”鍵后就
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 進(jìn)口委托代理合同
- 設(shè)計(jì)師聘用合同書(shū)
- 美容師聘用標(biāo)準(zhǔn)合同年
- 種苗采購(gòu)的合同范本
- 互動(dòng)儀式鏈視角下輪崗教師專(zhuān)業(yè)引領(lǐng)的困境與破解
- 青春期父母預(yù)備手冊(cè)-隨筆
- 2025年湘教新版必修1物理下冊(cè)月考試卷含答案
- 2025年外研版三年級(jí)起點(diǎn)九年級(jí)歷史下冊(cè)階段測(cè)試試卷含答案
- 智能客服系統(tǒng)合作開(kāi)發(fā)合同(2篇)
- 2025年外研版三年級(jí)起點(diǎn)九年級(jí)地理上冊(cè)階段測(cè)試試卷
- 人教版高中生物學(xué)新舊教材知識(shí)差異盤(pán)點(diǎn)
- 四年級(jí)四年級(jí)下冊(cè)閱讀理解20篇(附帶答案解析)經(jīng)典
- 大連高新區(qū)整體發(fā)展戰(zhàn)略規(guī)劃(產(chǎn)業(yè)及功能布局)
- 國(guó)有資產(chǎn)管理法律責(zé)任與風(fēng)險(xiǎn)防控
- 未婚生子的分手協(xié)議書(shū)
- 變更監(jiān)事章程修正案范例
- 北京小客車(chē)指標(biāo)租賃協(xié)議五篇
- 輸液室運(yùn)用PDCA降低靜脈輸液患者外滲的發(fā)生率品管圈(QCC)活動(dòng)成果
- YY/T 0681.2-2010無(wú)菌醫(yī)療器械包裝試驗(yàn)方法第2部分:軟性屏障材料的密封強(qiáng)度
- 煙氣管道阻力計(jì)算
- 城鄉(xiāng)環(huán)衛(wèi)一體化保潔服務(wù)迎接重大節(jié)日、活動(dòng)的保障措施
評(píng)論
0/150
提交評(píng)論