




已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
安陽工學院電子信息與電氣工程學院MATLAB編程與應用課程大作業(yè)題目:用MATLAB制作簡單計算器 班級:電子信息工程(專升本)教師成績由以下評分標準累計得出1、 設計和仿真結(jié)果正確,分析清晰合理。 40% 2、 大作業(yè)報告重點突出、闡述清晰。 30% 3、 陳述清晰正確、有說服力,能夠正確回答問題。 30% 總分 (上述成績由教師填寫)學生自評分值(該表格全部由學生填寫)任務分值 (%) 個人貢獻分值 (%)姓名姓名張新建李國斌1設計和仿真5030202報告502030個人平均分值(%)5050大作業(yè)總成績(該表格“姓名”和“學號”由學生填寫,“成績”由教師填寫)姓名張新建李國斌學號1302073012913020730109成績 用MATLAB制作簡單計算器1.計任務: 1、熟悉MATLAB的主要控件使用方法。2、熟悉MATLAB的GUI設計流程。2.設計方案利用MATLAB GUI設計實現(xiàn)一個圖形用戶界面的計算器程序,要求實現(xiàn):A.實現(xiàn)十進制數(shù)的加、減、乘、除、簡單計算。B. 科學計算函數(shù),包括正弦、余弦、正切、(余切、開方、指數(shù)等函數(shù)運行。C. 能夠保存上次歷史計算的答案,先是答案存儲器中得內(nèi)容。D. 有清除鍵,能清除操作。 3.方案實施通過MATLAB的gui程序設計較為簡單,在gui設計中主要用到兩種控件,顯示框用到文本編輯框(edit text),說明框用到靜態(tài)文本框(Static text),數(shù)字以及運算等按鈕用到命令按鈕(push button)。然后在通過各個按鈕的回調(diào)函數(shù),實現(xiàn)簡單的計算功能。4.方案施舍首先用MATLAB GUI功能,在繪制一個靜態(tài)文本框和一個文本編輯框,以及24個命令按鈕,調(diào)整好各控件大小、顏色,整體布局如圖所示:圖-1 一、布局GUI1.打開Matlab,輸入Guide 回車或者在工具欄上點擊圖標出現(xiàn)Guide 窗口:圖22.然后雙擊“Blank GUI(Default)”出現(xiàn)GUI窗口圖-3 3.添加按鈕圖-4 4.根據(jù)按鈕的作用及視覺效果做一定的修改把按鈕的字符串大小、顏色進行設置,對按鈕的位置進行排布,盡量使按鈕集中在靜態(tài)文本框下面。最終設置的靜態(tài)文本框為白色,其他按鈕均為分紅色。5.保存、添加功能函數(shù) 把做好的按鈕及靜態(tài)文本框保存后自動彈出Editor的M文本,對然后對相應的pushbutton添加功能函數(shù)。以下是相應按鈕的功能函數(shù)。(1)數(shù)字按鍵編寫。在function pushbutton1_Callback(hObject, eventdata, handles)下輸入:textString = get(handles.text1,String);textString =strcat(textString,0);set(handles.text1,String,textString)這是使用句柄handles指向?qū)ο髏ext1,并以字符串形式來存儲數(shù)據(jù)文本框text1的內(nèi)容,并存儲數(shù)個“0”,然后由set(handles.text1,String,textString在text1中輸出。同理,分別在function pushbutton210_Callback(hObject, eventdata, handles)下給19數(shù)字按鍵下編寫此類程序。(2).符號鍵:function pushbutton12_Callback(hObject, eventdata, handles)textString = get(handles.text1,String);textString =strcat(textString,+);set(handles.text1,String,textString)strcat的作用是將兩個字符串連接起來,就是在已輸入的存儲數(shù)據(jù)textString后添加“+”進行運算。然后執(zhí)行set(handles.text1,String,textString)。符號鍵-、*、/與+的運算函數(shù)類似?!捌椒竭\算”,主要是由“2”功能實現(xiàn)。(3)運算符“=”的編程:textString = get(handles.text1,String);ans =eval(textString);“eval”的作用是將符號表達式轉(zhuǎn)換成數(shù)值表達式。再由set(handles.text1,String,ans)輸出。(4)按鍵“back”編程:即顯示一個空字符:set(handles.text1,String,) ;按鍵“back”編程:textString = get(handles.text1,String); set(handles.text1,String,) ; ss=char(textString);n=length(textString);textString=ss(1:w-1);%將w個字符串轉(zhuǎn)成w-1個,即刪除了末位字符set(handles.text1,String,textString)(5)按鍵“清空”:把靜態(tài)文本框的字符清空,返回一個空格set(handles.text1,String,)(6)三角函數(shù)的編輯function cos_Callback(hObject, eventdata, handles)textString=handles.text1;textString=cos(str2num(get(handles.text1,String)*pi/180);set(handles.text1,String,num2str(textString)(get(handles.text1,String)*pi/180是把角度轉(zhuǎn)換為弧度,這樣在編程環(huán)境中才能識別,cos才能起作用。然后執(zhí)行set函數(shù),把結(jié)果輸出來。同理在sin,tan的回調(diào)函數(shù)中夜輸入相應的函數(shù),只需把textString=cos(str2num(get(handles.text1,String)*pi/180);中的cos改為sin,tan即可(7)按鍵“退出”:關閉計算器close(gcf);二、計算器的使用加法運算(+): 圖-5 按“=”后顯示圖-6 平方運算:圖-7 按“=”后顯示圖-8 5.通過本次實驗實現(xiàn)十進制數(shù)的加、減、乘、除、簡單計算對Matlab的操作有了進一步的認識和了解,通過多次的修改調(diào)查做出實驗,驗證了實驗的正確性,大大的提高了我們對Matlab功能的認識,培養(yǎng)了我們的興趣。6.任務分工張新建:主要負責設計和仿真;李國斌:主要負責設計和實驗報告的撰寫。三、附各按鍵的程序源代碼: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,*);set(handles.text1,String,textString)function pushbutton14_Callback(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)function pushbutton16_Callback(hObject, eventdata, handles)textString = get(handles.text1,String);ans =eval(textString);set(handles.text1,String,ans)function pushbutton17_Callback(hObject, eventdata, handles)textString = get(handles.text1,String);textString =strcat(textString,2);set(handles.text1,String,textString)function pushbutton18_Callback(hObject, eventdata, handles)textString = get(handles.text
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 精神健康護理管理人員職責
- 外語培訓教師辭職申請書
- 航空公司應急管理流程及職責
- 心理咨詢學術研討會心得體會
- 線上藥店店長的職責與挑戰(zhàn)
- 橋梁工程施工資源配置計劃
- 人教部編版二年級語文教學反思計劃
- 車輛安全性檢測程序協(xié)議
- 2024-2025學年班主任德育教育計劃
- 零售行業(yè)倉庫管理崗位職責
- 儲能科學與工程單選題100道及答案解析
- 安徽省2024年普通高校招生普通高職(???提前批院校投檔分數(shù)及名次
- DB43-T 2375-2022瓶裝液化石油氣計量規(guī)范
- 特丁基噻二唑項目可行性研究報告
- 核電站建設工程承包合同
- 漢字與對外漢語教學知到智慧樹章節(jié)測試課后答案2024年秋西北師范大學
- APP開發(fā)及運營投資協(xié)議
- 2025屆四川省成都市彭州市重點達標名校中考沖刺卷生物試題含解析
- 成人術中非計劃低體溫預防與護理-2024中華護理學會團體標準
- 砌體及構(gòu)造柱圈梁等二次結(jié)構(gòu)施工方案
- 團建活動復盤匯報
評論
0/150
提交評論