




已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
安陽(yáng)工學(xué)院電子信息與電氣工程學(xué)院MATLAB編程與應(yīng)用課程大作業(yè)題目:用MATLAB制作簡(jiǎn)單計(jì)算器 班級(jí):電子信息工程(專升本)教師成績(jī)由以下評(píng)分標(biāo)準(zhǔn)累計(jì)得出1、 設(shè)計(jì)和仿真結(jié)果正確,分析清晰合理。 40% 2、 大作業(yè)報(bào)告重點(diǎn)突出、闡述清晰。 30% 3、 陳述清晰正確、有說(shuō)服力,能夠正確回答問(wèn)題。 30% 總分 (上述成績(jī)由教師填寫(xiě))學(xué)生自評(píng)分值(該表格全部由學(xué)生填寫(xiě))任務(wù)分值 (%) 個(gè)人貢獻(xiàn)分值 (%)姓名姓名張新建李國(guó)斌1設(shè)計(jì)和仿真5030202報(bào)告502030個(gè)人平均分值(%)5050大作業(yè)總成績(jī)(該表格“姓名”和“學(xué)號(hào)”由學(xué)生填寫(xiě),“成績(jī)”由教師填寫(xiě))姓名張新建李國(guó)斌學(xué)號(hào)1302073012913020730109成績(jī) 用MATLAB制作簡(jiǎn)單計(jì)算器1.計(jì)任務(wù): 1、熟悉MATLAB的主要控件使用方法。2、熟悉MATLAB的GUI設(shè)計(jì)流程。2.設(shè)計(jì)方案利用MATLAB GUI設(shè)計(jì)實(shí)現(xiàn)一個(gè)圖形用戶界面的計(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. 能夠保存上次歷史計(jì)算的答案,先是答案存儲(chǔ)器中得內(nèi)容。D. 有清除鍵,能清除操作。 3.方案實(shí)施通過(guò)MATLAB的gui程序設(shè)計(jì)較為簡(jiǎn)單,在gui設(shè)計(jì)中主要用到兩種控件,顯示框用到文本編輯框(edit text),說(shuō)明框用到靜態(tài)文本框(Static text),數(shù)字以及運(yùn)算等按鈕用到命令按鈕(push button)。然后在通過(guò)各個(gè)按鈕的回調(diào)函數(shù),實(shí)現(xiàn)簡(jiǎn)單的計(jì)算功能。4.方案施舍首先用MATLAB GUI功能,在繪制一個(gè)靜態(tài)文本框和一個(gè)文本編輯框,以及24個(gè)命令按鈕,調(diào)整好各控件大小、顏色,整體布局如圖所示:圖-1 一、布局GUI1.打開(kāi)Matlab,輸入Guide 回車或者在工具欄上點(diǎn)擊圖標(biāo)出現(xiàn)Guide 窗口:圖22.然后雙擊“Blank GUI(Default)”出現(xiàn)GUI窗口圖-3 3.添加按鈕圖-4 4.根據(jù)按鈕的作用及視覺(jué)效果做一定的修改把按鈕的字符串大小、顏色進(jìn)行設(shè)置,對(duì)按鈕的位置進(jìn)行排布,盡量使按鈕集中在靜態(tài)文本框下面。最終設(shè)置的靜態(tài)文本框?yàn)榘咨?,其他按鈕均為分紅色。5.保存、添加功能函數(shù) 把做好的按鈕及靜態(tài)文本框保存后自動(dòng)彈出Editor的M文本,對(duì)然后對(duì)相應(yīng)的pushbutton添加功能函數(shù)。以下是相應(yīng)按鈕的功能函數(shù)。(1)數(shù)字按鍵編寫(xiě)。在function pushbutton1_Callback(hObject, eventdata, handles)下輸入:textString = get(handles.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, handles)下給19數(shù)字按鍵下編寫(xiě)此類程序。(2).符號(hào)鍵: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í)行set(handles.text1,String,textString)。符號(hào)鍵-、*、/與+的運(yùn)算函數(shù)類似?!捌椒竭\(yùn)算”,主要是由“2”功能實(shí)現(xiàn)。(3)運(yùn)算符“=”的編程:textString = get(handles.text1,String);ans =eval(textString);“eval”的作用是將符號(hào)表達(dá)式轉(zhuǎn)換成數(shù)值表達(dá)式。再由set(handles.text1,String,ans)輸出。(4)按鍵“back”編程:即顯示一個(gè)空字符: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個(gè)字符串轉(zhuǎn)成w-1個(gè),即刪除了末位字符set(handles.text1,String,textString)(5)按鍵“清空”:把靜態(tài)文本框的字符清空,返回一個(gè)空格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)境中才能識(shí)別,cos才能起作用。然后執(zhí)行set函數(shù),把結(jié)果輸出來(lái)。同理在sin,tan的回調(diào)函數(shù)中夜輸入相應(yīng)的函數(shù),只需把textString=cos(str2num(get(handles.text1,String)*pi/180);中的cos改為sin,tan即可(7)按鍵“退出”:關(guān)閉計(jì)算器close(gcf);二、計(jì)算器的使用加法運(yùn)算(+): 圖-5 按“=”后顯示圖-6 平方運(yùn)算:圖-7 按“=”后顯示圖-8 5.通過(guò)本次實(shí)驗(yàn)實(shí)現(xiàn)十進(jìn)制數(shù)的加、減、乘、除、簡(jiǎn)單計(jì)算對(duì)Matlab的操作有了進(jìn)一步的認(rèn)識(shí)和了解,通過(guò)多次的修改調(diào)查做出實(shí)驗(yàn),驗(yàn)證了實(shí)驗(yàn)的正確性,大大的提高了我們對(duì)Matlab功能的認(rèn)識(shí),培養(yǎng)了我們的興趣。6.任務(wù)分工張新建:主要負(fù)責(zé)設(shè)計(jì)和仿真;李國(guó)斌:主要負(fù)責(zé)設(shè)計(jì)和實(shí)驗(yàn)報(bào)告的撰寫(xiě)。三、附各按鍵的程序源代碼: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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙江嘉興綜合保稅區(qū)保稅物流中心有限公司招聘筆試參考題庫(kù)含答案解析
- 新馬高級(jí)中學(xué)高二上學(xué)期第一次月考?xì)v史試題
- 2025年陜西曲江新鷗鵬文化教育控股集團(tuán)招聘筆試參考題庫(kù)附帶答案詳解
- 2025年中國(guó)超扭曲向列液晶顯示屏項(xiàng)目投資可行性研究報(bào)告
- 2025年中國(guó)裸絲數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2025年中國(guó)自動(dòng)分紗機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)聚四氟乙烯燒杯夾層墊片市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)缸蓋外模市場(chǎng)現(xiàn)狀分析及前景預(yù)測(cè)報(bào)告
- 2025年中國(guó)紡絲用功能性母粒項(xiàng)目投資可行性研究報(bào)告
- 2025年中國(guó)糖盒項(xiàng)目投資可行性研究報(bào)告
- 07FK02防空地下室通風(fēng)設(shè)備安裝PDF高清圖集
- 個(gè)性化家庭醫(yī)生簽約服務(wù)包
- GA∕T 1622-2019 法庭科學(xué) 生物檢材中沙蠶毒素、殺蟲(chóng)雙、殺蟲(chóng)環(huán)和殺螟丹檢驗(yàn) 氣相色譜、氣相色譜-質(zhì)譜和液相色譜-質(zhì)譜法
- 國(guó)際商事仲裁法
- 區(qū)域電力系統(tǒng)規(guī)劃設(shè)計(jì)開(kāi)題報(bào)告
- 汽車維修管理制度管理辦法匯編
- 02-新版3合1及50430內(nèi)審檢查表
- 全國(guó)普通高等學(xué)校本??飘厴I(yè)生就業(yè)協(xié)議書(shū)(填寫(xiě)模板)
- ERP生產(chǎn)管理系統(tǒng)用戶手冊(cè)(共51頁(yè))
- 封條模板(A3紙)
- 無(wú)機(jī)化學(xué) 第18章 氫和稀有氣體
評(píng)論
0/150
提交評(píng)論