資源描述:
《用matlab做的 一個計算器》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、一、布局GUI。1.打開Matlab,輸入Guide回車或者在工具欄上點擊圖標出現(xiàn)Guide窗口:2.然后雙擊“BlankGUI(Default)”出現(xiàn)GUI窗口3.添加按鈕4.根據(jù)按鈕的作用及視覺效果做一定的修改把按鈕的字符串大小、顏色進行設置,對按鈕的位置進行排布,盡量使按鈕集中在靜態(tài)文本框下面。最終設置的靜態(tài)文本框為白色,其他按鈕均為分紅色。5.保存、添加功能函數(shù)把做好的按鈕及靜態(tài)文本框保存后自動彈出Editor的M文本,對然后對相應的pushbutton添加功能函數(shù)。以下是相應按鈕的功能函數(shù)。(1)數(shù)字按鍵編寫。在functionpushbutton1_Callba
2、ck(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中輸出。同理,分別在functionpushbutton2~10_Callback(
3、hObject,eventdata,handles)下給1~9數(shù)字按鍵下編寫此類程序。(2).符號鍵: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.tex
4、t1,'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(handle
5、s.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)按鍵“退出”:關(guān)閉計算器close(gcf);二、計算器的使用加法運算(+):按“=”后顯示平方運算:按“=”后顯示
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(text
7、String,'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,