matlab計(jì)算器設(shè)計(jì)_第1頁
matlab計(jì)算器設(shè)計(jì)_第2頁
matlab計(jì)算器設(shè)計(jì)_第3頁
matlab計(jì)算器設(shè)計(jì)_第4頁
matlab計(jì)算器設(shè)計(jì)_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余21頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、會陂科扶院成績課程設(shè)計(jì)報(bào)告數(shù)學(xué)計(jì)算器的開發(fā)軟件設(shè)計(jì)機(jī)電工程學(xué)院自動化課程設(shè)計(jì)地點(diǎn) 課程設(shè)計(jì)學(xué)時 指導(dǎo)教師金陵科技學(xué)院教務(wù)處制一、課程設(shè)計(jì)應(yīng)達(dá)到的目的本課程是為自動化專業(yè)本科生開設(shè)的專業(yè)課程設(shè)計(jì)課。通過本課程的課程設(shè) 計(jì)實(shí)踐幫助學(xué)生鞏固關(guān)于數(shù)據(jù)結(jié)構(gòu)、算法、程序設(shè)計(jì)的基礎(chǔ)知識。通過本課程設(shè) 計(jì),學(xué)生可以初步掌握開發(fā)一個小型實(shí)用系統(tǒng)的基本方法,提高運(yùn)用編程軟件實(shí) 現(xiàn)GUI程序設(shè)計(jì)的能力。課程設(shè)計(jì)的基本要求:要求利用MATLABG UI設(shè)計(jì)實(shí)現(xiàn)一個圖形用戶界面的計(jì)算器程序,要求實(shí) 現(xiàn):A. 具有友好的用戶圖形界面。實(shí)現(xiàn)十進(jìn)制數(shù)的加、減、乘、除、乘方、取 模等簡單計(jì)算。(必做)B. 科學(xué)計(jì)算函數(shù),包括(

2、反)正弦、(反)余弦、(反)正切、(反)余切、開方、 指數(shù)等函數(shù)運(yùn)行。(必做)C. 能夠保存上次歷史計(jì)算的答案,先是答案存儲器中得內(nèi)容。(必做)D. 有清除鍵,能清除操作,并對不正確的表達(dá)式能指出其錯誤原因。(必做)E. 獨(dú)立存儲器功能,使之可以直接輸入存儲器,可與存儲器中的數(shù)值相加 減。能夠清除獨(dú)立存儲器中的內(nèi)容。(選做)利用MATLAB GU功能,在繪制一個靜態(tài)文本框和一個文本編輯框,以及命 令按鈕,調(diào)整好各控件大小、顏色,整體布局如圖所示:Log2X*2sinarc sincosarccosIanCOTarclflinar&col然后通過雙擊個按鈕來改寫其屬性,在m文件中編寫其回

3、調(diào)函數(shù),最后在運(yùn) 行調(diào)試。三、課題設(shè)計(jì)內(nèi)容與步驟各功能界面設(shè)計(jì)GUI設(shè)計(jì)界面:Fl t- J. :y.jr.f_'LJ二d I i tS叭®話斟蘭呂圉卑 E_川B®' Mi nr田1 HR亙Log? Log 102X2arcsin.arecDScostancota retan心并irGrIl 陽inr 口他 W%切arc toti T叮 -I各功能模塊實(shí)現(xiàn)算法設(shè)計(jì):A.數(shù)字鍵設(shè)計(jì):09以及小數(shù)點(diǎn)函數(shù)都一樣,只是參數(shù)不同:textStri ng = get,'Stri ng');if(strc mp (textStri ng,'0

4、9;)=1)set,'Stri ng','1');elsetextStri ng =strcat(textStri ng,'1');set,'Stri ng',textStri ng)endB. 四則運(yùn)算函數(shù):textStri ng = gefStri ng');ss=char(textStri ng);l=le ngth(textStri ng);if(ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)=7'|ss(l)='.')

5、 textStri ng=ss(1:l-1);endtextString =strcat(textString,'+'); set,'String',textString)C. 科學(xué)計(jì)算函數(shù): textString = get,'String'); a = strread(textString, '%f'); a=sin(a);set,'String',a)D. 退格鍵:通過取屏幕值,計(jì)算出其字符長度,然后取其前 N-1 項(xiàng)的值來實(shí)現(xiàn) 退格:textString = get,'String'); i

6、f(strcmp(textString,'0')=1)&(jj=0)set,'String','0') ;elsess=char(textString);l=length(textString);textString=ss(1:l-1); set,'String',textString)E. 清屏鍵函數(shù): set,'String','0') ;F. +/- 的實(shí)現(xiàn) textString = get,'String'); if(strcmp(textString,'0&

7、#39;)=1) set,'String','0') ;elsea = strread(textString, '%f'); a=0-a;set,'String',a) end各模塊實(shí)現(xiàn)結(jié)果A.數(shù)字鍵:計(jì)算器52Log 10iinaixsirtcosarc CDStancolarctan*/-arccotB.四則運(yùn)算函數(shù):3*4Lo02 LjOQ 1.0X"2sinarcncosarccostancotCretanjrcteriC.科學(xué)計(jì)算函數(shù):Sin1的計(jì)算結(jié)果=0 841471+?-1_旳2LogiWK*2cotar

8、irjiriarcc«tanCfftapctanisrccoi、結(jié)果分析計(jì)算(1+9) /5n*9h/5計(jì)算結(jié)果=2LogicX*2sineg4rcco«|tancotarct 曰 n+/-.dire col'LOD2LO01O123+X*2&narc 創(chuàng) A45&;CQ呂BTCCOS7&9*tancotairtan0+丿-/artcoi2計(jì)算3*4E,J_ IM3W2Logic+/X*2tananccolcoscotarcsriiarcc«aircTan計(jì)算結(jié)果=12arcsini 計(jì)算結(jié)果B '1 5706Logii&#

9、39;O+/-X'ZanC49colarcjinarccwancljrtarCDClog2 0的報(bào)錯:通過輸入的數(shù)據(jù)與0'字符比較,若兩者相等,貝U顯示“error ” 進(jìn)行報(bào)錯,結(jié)果如下:經(jīng)過計(jì)算,這些結(jié)果均與實(shí)際結(jié)果相吻合,計(jì)算器的功能實(shí)現(xiàn)的較為完好。四、課程設(shè)計(jì)源代碼A. 數(shù)字鍵設(shè)計(jì):按鍵“0” :通過 get 函數(shù)獲得輸入的字符, 函數(shù)進(jìn)行顯示輸出textString = get,'String'); if(strcmp(textString,'0')=1)set,'String','0') ;elsete

10、xtString =strcat(textString,'0'); set,'String',textString) end函數(shù)strcat獲得字符 '0',并用set按鍵“1” :通過 get 函數(shù)獲得輸入的字符, 函數(shù)進(jìn)行顯示輸出textString = get,'String'); if(strcmp(textString,'0')=1) set,'String','1') ;elsetextString =strcat(textString,'1'); set

11、,'String',textString) end函數(shù)strcat獲得字符 '1',并用set按鍵“2” :通過 get 函數(shù)獲得輸入的字符, 函數(shù)進(jìn)行顯示輸出textString = get,'String');if(strcmp(textString,'0')=1)set,'String','2') ;elsetextString =strcat(textString,'2');set,'String',textString)End函數(shù)strcat獲得字符 

12、9;2',并用set按鍵“3” :通過 get 函數(shù)獲得輸入的字符, 函數(shù)進(jìn)行顯示輸出textString = get,'String');if(strcmp(textString,'0')=1)函數(shù)strcat獲得字符 '3',并用setset,'String','3') ;elsetextString =strcat(textString,'3');set,'String',textString) end按鍵“4” :通過 get 函數(shù)獲得輸入的字符, 函數(shù)進(jìn)行顯示輸出t

13、extString = get,'String'); if(strcmp(textString,'0')=1) set,'String','4') ;elsetextString =strcat(textString,'4'); set,'String',textString) end函數(shù)strcat獲得字符 '4',并用set按鍵“5” :通過 get 函數(shù)獲得輸入的字符, 函數(shù)進(jìn)行顯示輸出textString = get,'String'); if(strcmp(

14、textString,'0')=1)set,'String','5') ;elsetextString =strcat(textString,'5'); set,'String',textString) end函數(shù)strcat獲得字符 '5',并用set按鍵“6” :通過 get 函數(shù)獲得輸入的字符, 函數(shù)進(jìn)行顯示輸出textString = get,'String'); if(strcmp(textString,'0')=1) set,'String'

15、;,'6') ;elsetextString =strcat(textString,'6'); set,'String',textString) end函數(shù)strcat獲得字符 '6',并用set按鍵“7” :通過 get 函數(shù)獲得輸入的字符, 函數(shù)進(jìn)行顯示輸出textString = get,'String');if(strcmp(textString,'0')=1)set,'String','7') ;else函數(shù)strcat獲得字符 '7',并用

16、settextString =strcat(textString,'7'); set,'String',textString) end按鍵“8” :通過 get 函數(shù)獲得輸入的字符, 函數(shù)進(jìn)行顯示輸出textString = get,'String'); if(strcmp(textString,'0')=1) set,'String','8') ;elsetextString =strcat(textString,'8'); set,'String',textStr

17、ing) end函數(shù)strcat獲得字符 '8', 并用set按鍵“9” :通過 get 函數(shù)獲得輸入的字符, 函數(shù)進(jìn)行顯示輸出textString = get,'String'); if(strcmp(textString,'0')=1) set,'String','9') ;elsetextString =strcat(textString,'9'); set,'String',textString) end函數(shù)strcat獲得字符 '9', 并用setB. 四則

18、運(yùn)算函數(shù):按鍵“+” :通過 get 函數(shù)獲得輸入的字符, 函數(shù)進(jìn)行顯示輸出 textString = get,'String'); ss=char(textString); l=length(textString);if(ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)='/'|ss(l)='.') textString=ss(1:l-1);endtextString =strcat(textString,'+'); set,'String',

19、textString)函數(shù)strcat獲得字符 '+', 并用set按鍵“-”:通過 get 函數(shù)獲得輸入的字符, 函數(shù) 函數(shù)進(jìn)行顯示輸出 textString = get,'String');strcat獲得字符 '-', 并用setss=char(textString);l=length(textString);if(ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)='/'|ss(l)='.') textString=ss(1:l-1);en

20、d textString =strcat(textString,'-'); set,'String',textString)按鍵“* ” :通過 get 函數(shù)獲得輸入的字符, 函數(shù) 函數(shù)進(jìn)行顯示輸出 textString = get,'String'); ss=char(textString); l=length(textString); if(ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)='/'|ss(l)='.') textString=

21、ss(1:l-1);end textString =strcat(textString,'*'); set,'String',textString)strcat獲得字符 '*',并用set按鍵“/” :通過 get 函數(shù)獲得輸入的字符, 函數(shù) 函數(shù)進(jìn)行顯示輸出 textString = get,'String'); ss=char(textString); l=length(textString); if(ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)=

22、9;/'|ss(l)='.') textString=ss(1:l-1);end textString =strcat(textString,'/'); set,'String',textString)strcat獲得字符 '/',并用set按鍵“.” :通過 get 函數(shù)獲得輸入的字符, 函數(shù) 函數(shù)進(jìn)行顯示輸出 textString = get,'String'); ss=char(textString); l=length(textString); if(ss(l)='+'|ss(l)=

23、'-'|ss(l)='*'|ss(l)='/'|ss(l)='.') textString=ss(1:l-1);end textString =strcat(textString,'.'); set,'String',textString)strcat獲得字符 '.',并用set按鍵“ +/- ” :通過 get 函數(shù)獲得輸入的字符,函數(shù) strcat 獲得字符'+/-',用 set 函數(shù)進(jìn)行顯示輸出 if(strcmp(textString,'0')

24、=1) set,'String','0') ;elsea = strread(textString, '%f'); a=0-a;set,'String',a)endC. 科學(xué)計(jì)算函數(shù):按鍵“ sin ”: 通過 get 函數(shù)獲得輸入的字符,函數(shù) strread 獲得輸入字符 , 并用 sin 函數(shù)計(jì)算結(jié)果, set 函數(shù)進(jìn)行顯示輸出textString = get,'String');a = strread(textString, '%f');a=sin(a);set,'String'

25、;,a)按鍵“ cos”通過get函數(shù)獲得輸入的字符,函數(shù)strread獲得輸入字符,并用 cos 函數(shù)計(jì)算結(jié)果, set 函數(shù)進(jìn)行顯示輸出textString = get,'String');a = strread(textString, '%f');a=cos(a);set,'String',a)按鍵“ tan ”:通過get函數(shù)獲得輸入的字符,函數(shù)strread獲得輸入字符,并用 tan 函數(shù)計(jì)算結(jié)果, set 函數(shù)進(jìn)行顯示輸出textString = get,'String');if(strcmp(textString,&

26、#39;')=1)|(strcmp(textString,'')=1)set,'String','inf');elsea = strread(textString, '%f');a=tan(a);set,'String',a)end按鍵“ cot ” :通過get函數(shù)獲得輸入的字符,函數(shù)strread獲得輸入字符,并 用 cot 函數(shù)計(jì)算結(jié)果, set 函數(shù)進(jìn)行顯示輸出textString = get,'String');if(strcmp(textString,'')=1)

27、|(strcmp(textString,'0')=1)|(strcmp(textString,'')=1) set,'String','inf');elsea = strread(textString, '%f');a=cot(a);set,'String',a)end按鍵“ arcsin ” :通過 get 函數(shù)獲得輸入的字符,函數(shù) 并用 arcsin 函數(shù)計(jì)算結(jié)果, set 函數(shù)進(jìn)行顯示輸出 textString = get,'String');a = strread(textS

28、tring, '%f');a=arcsin(a);set,'String',a)strread獲得輸入字符 ,按鍵“ arccos ”:通過get函數(shù)獲得輸入的字符,函數(shù)并用 arccos 函數(shù)計(jì)算結(jié)果, set 函數(shù)進(jìn)行顯示輸出 textString = get,'String');a = strread(textString, '%f');a=arccos(a);set,'String',a)strread獲得輸入字符 ,按鍵“ arctan ” :通過 get 函數(shù)獲得輸入的字符,函數(shù) 并用 arctan 函

29、數(shù)計(jì)算結(jié)果, set 函數(shù)進(jìn)行顯示輸出 textString = get,'String');a = strread(textString, '%f');a=arctan(a);set,'String',a)strread獲得輸入字符 ,按鍵“ arccot ” :通過 get 函數(shù)獲得輸入的字符,函數(shù) 并用 arccot 函數(shù)計(jì)算結(jié)果, set 函數(shù)進(jìn)行顯示輸出 textString = get,'String');a = strread(textString, '%f');a=arccot(a);set,

30、9;String',a)strread獲得輸入字符 ,按鍵“ log2 ” :通過 get 函數(shù)獲得輸入的字符,函數(shù) strread 獲得輸入字符 , 并用 log2 函數(shù)計(jì)算結(jié)果, set 函數(shù)進(jìn)行顯示輸出 textString = get,'String');if(strcmp(textString,'0')=1)set,'String','error') ;elsea = strread(textString, '%f');a=log2(a);set,'String',a)end按鍵“

31、 log10” :通過 get 函數(shù)獲得輸入的字符,函數(shù) strread 獲得輸入字符 , 并用 log10 函數(shù)計(jì)算結(jié)果, set 函數(shù)進(jìn)行顯示輸出textString = get,'String');if(strcmp(textString,'0')=1)set,'String','error') ;elsea = strread(textString, '%f');a=sin(a);set,'String',a)end按鍵“ x2 ” :通過get函數(shù)獲得輸入的字符,函數(shù)strread獲得輸入字符,并用語句 a=a*a 計(jì)算結(jié)果, set 函數(shù)進(jìn)行顯示輸出textString = get,'String');a = strread(textString, '%f');a=a*a;set,'String',a)按鍵“2” :通過get函數(shù)獲得輸入的字符,函數(shù)strread獲得輸入字符,并用 sqrt 函數(shù)計(jì)算結(jié)果, set

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論