用MATLAB制作簡單計算器_第1頁
用MATLAB制作簡單計算器_第2頁
用MATLAB制作簡單計算器_第3頁
用MATLAB制作簡單計算器_第4頁
用MATLAB制作簡單計算器_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

...wd......wd......wd...安陽工學院電子信息與電氣工程學院《MATLAB編程與應用》課程大作業(yè)題目:用MATLAB制作簡單計算器班級:電子信息工程〔專升本〕教師成績由以下評分標準累計得出設計和仿真結果正確,分析清晰合理。40%大作業(yè)報告重點突出、闡述清晰。30%陳述清晰正確、有說服力,能夠正確答復以下問題。30%總分〔上述成績由教師填寫〕學生自評分值〔該表格全部由學生填寫〕任務分值(%)個人奉獻分值(%)姓名姓名張新建李國斌1設計和仿真5030202報告502030個人平均分值(%)5050大作業(yè)總成績〔該表格“姓名〞和“學號〞由學生填寫,“成績〞由教師填寫〕姓名張新建李國斌學號1302073012913020730109成績1.計任務:1、熟悉MATLAB的主要控件使用方法。2、熟悉MATLAB的GUI設計流程。2.設計方案利用MATLABGUI設計實現(xiàn)一個圖形用戶界面的計算器程序,要求實現(xiàn):A.實現(xiàn)十進制數(shù)的加、減、乘、除、簡單計算。B.科學計算函數(shù),包括正弦、余弦、正切、(余切、開方、指數(shù)等函數(shù)運行。C.能夠保存上次歷史計算的答案,先是答案存儲器中得內容。D.有去除鍵,能去除操作。3.方案實施通過MATLAB的gui程序設計較為簡單,在gui設計中主要用到兩種控件,顯示框用到文本編輯框〔edittext〕,說明框用到靜態(tài)文本框〔Statictext〕,數(shù)字以及運算等按鈕用到命令按鈕〔pushbutton〕。然后在通過各個按鈕的回調函數(shù),實現(xiàn)簡單的計算功能。4.方案施舍首先用MATLABGUI功能,在繪制一個靜態(tài)文本框和一個文本編輯框,以及24個命令按鈕,調整好各控件大小、顏色,整體布局如以下圖:圖-1一、布局GUI1.翻開Matlab,輸入Guide回車或者在工具欄上點擊圖標出現(xiàn)Guide窗口:圖–22.然后雙擊“BlankGUI(Default)〞出現(xiàn)GUI窗口圖-33.添加按鈕圖-44.根據(jù)按鈕的作用及視覺效果做一定的修改把按鈕的字符串大小、顏色進展設置,對按鈕的位置進展排布,盡量使按鈕集中在靜態(tài)文本框下面。最終設置的靜態(tài)文本框為白色,其他按鈕均為分紅色。5.保存、添加功能函數(shù)把做好的按鈕及靜態(tài)文本框保存后自動彈出Editor的M文本,對然后對相應的pushbutton添加功能函數(shù)。以下是相應按鈕的功能函數(shù)?!?〕數(shù)字按鍵編寫。在functionpushbutton1_Callback(hObject,eventdata,handles〕下輸入:textString=get(handles.text1,'String');textString=strcat(textString,'0');set(handles.text1,'String',textString)這是使用句柄handles指向對象text1,并以字符串形式來存儲數(shù)據(jù)文本框text1的內容,并存儲數(shù)個“0〞,然后由set(handles.text1,'String','textString'在text1中輸出。同理,分別在functionpushbutton2~10_Callback(hObject,eventdata,handles〕下給1~9數(shù)字按鍵下編寫此類程序?!?〕.符號鍵:functionpushbutton12_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〞的作用是將符號表達式轉換成數(shù)值表達式。再由set(handles.text1,'String',ans)輸出?!?〕按鍵“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個字符串轉成w-1個,即刪除了末位字符set(handles.text1,'String',textString)〔5〕按鍵“清空〞:把靜態(tài)文本框的字符清空,返回一個空格set(handles.text1,'String','')〔6〕三角函數(shù)的編輯functioncos_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是把角度轉換為弧度,這樣在編程環(huán)境中才能識別,cos才能起作用。然后執(zhí)行set函數(shù),把結果輸出來。同理在sin,tan的回調函數(shù)中夜輸入相應的函數(shù),只需把textString=cos(str2num(get(handles.text1,'String'))*pi/180);中的cos改為sin,tan即可〔7〕按鍵“退出〞:關閉計算器close(gcf);二、計算器的使用加法運算〔+〕:圖-5按“=〞后顯示圖-6平方運算:圖-7按“=〞后顯示圖-85.通過本次實驗實現(xiàn)十進制數(shù)的加、減、乘、除、簡單計算對Matlab的操作有了進一步的認識和了解,通過屢次的修改調查做出實驗,驗證了實驗的正確性,大大的提高了我們對Matlab功能的認識,培養(yǎng)了我們的興趣。6.任務分工張新建:主要負責設計和仿真;李國斌:主要負責設計和實驗報告的撰寫。三、附各按鍵的程序源代碼:functionpushbutton1_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'0');set(handles.text1,'String',textString)functionpushbutton2_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'1');set(handles.text1,'String',textString)functionpushbutton3_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'2');set(handles.text1,'String',textString)functionpushbutton4_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'3');set(handles.text1,'String',textString)functionpushbutton5_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'4');set(handles.text1,'String',textString)functionpushbutton6_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'5');set(handles.text1,'String',textString)functionpushbutton7_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'6');set(handles.text1,'String',textString)functionpushbutton8_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'7');set(handles.text1,'String',textString)functionpushbutton9_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'8');set(handles.text1,'String',textString)functionpushbutton10_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'9');set(handles.text1,'String',textString)functionpushbutton11_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'+');set(handles.text1,'String',textString)functionpushbutton12_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'-');set(handles.text1,'String',textString)functionpushbutton13_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'*');set(handles.text1,'String',textString)functionpushbutton14_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'/');set(handles.text1,'String',textString)functionpushbutton15_Callback(hObject,eventdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'.');set(handles.text1,'String',textString)functionpushbutton16_Callback(hObject,eventdata,handles)textString=get(handl

溫馨提示

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

最新文檔

評論

0/150

提交評論