matlab計(jì)算器Word版_第1頁(yè)
matlab計(jì)算器Word版_第2頁(yè)
matlab計(jì)算器Word版_第3頁(yè)
matlab計(jì)算器Word版_第4頁(yè)
matlab計(jì)算器Word版_第5頁(yè)
已閱讀5頁(yè),還剩2頁(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)介

1、中 南 林 業(yè) 科 技 大 學(xué) 課程設(shè)計(jì)Matlab GUI計(jì)算器的設(shè)計(jì)學(xué)生姓名:姚 丁 丁 學(xué)生學(xué)號(hào):2010 4262 專業(yè)班級(jí):信息與計(jì)算科學(xué)專業(yè) 2012 年 4 月 30 日0 / 7基于Matlab GUI計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)(中南林業(yè)科技大學(xué))摘要:Matlab是國(guó)際上使用最為廣泛的科學(xué)與工程計(jì)算軟件工具。與VC等其他編程語(yǔ)言相比,Matlab的GUI(Graphics User Interface,圖形用戶接口)設(shè)計(jì)同樣采用了面向?qū)ο蟮募夹g(shù),但Matlab具有強(qiáng)大、豐富的內(nèi)置函數(shù)和工具箱,界面設(shè)計(jì)時(shí)更加簡(jiǎn)潔、快捷與直觀。簡(jiǎn)要介紹計(jì)算器的核心算法,利用MATLAB強(qiáng)大的計(jì)算功能和用

2、戶界面設(shè)計(jì)實(shí)現(xiàn),并在Matlab7.0和windows 7操作下成功實(shí)現(xiàn),經(jīng)過(guò)實(shí)驗(yàn)測(cè)試,結(jié)果正確,各項(xiàng)功能均達(dá)到要求。關(guān)鍵字:Matlab; 計(jì)算器; 圖形用戶接口Based on Matlab GUI calculator of design and implementation(central south university of science and technology )Abstract: Matlab is the most popular scientific and engineering computation tool.Comparing to other progra

3、mming language ,Matlab GUIis also object-oriented,but it has powerful built-in functions and toolbox.It is more simple,faster and int uitive when interface design using Matlab GUI. Brief introduction of the calculator core algorithm, use of MATLAB powerful computation function and user interface des

4、ign and implementation, and in Windows 7 operating under Matlab7.0 and achieve success, after the experiment test, the result is correct, various functions are to meet requirements.Keywords:Matlab; calculator;graphics user interface一、 引言用戶界面(或接口)是指:人與機(jī)器(或程序)之間交互作用的工具和方法。如鍵盤(pán)、鼠標(biāo)、跟蹤球、話筒都可成為與計(jì)算機(jī)交換信息的接口。

5、圖形用戶界面(Graphical User Interfaces ,GUI)則是由窗口、光標(biāo)、按鍵、菜單、文字說(shuō)明等對(duì)象(Objects)構(gòu)成的一個(gè)用戶界面。用戶通過(guò)一定的方法(如鼠標(biāo)或鍵盤(pán))選擇、激活這些圖形對(duì)象,使計(jì)算機(jī)產(chǎn)生某種動(dòng)作或變化,比如實(shí)現(xiàn)計(jì)算、繪圖等。二、GUI開(kāi)發(fā)環(huán)境(GUI Development Environment, GUIDE)MATLAB提供了一套可視化的創(chuàng)建圖形窗口的工具,使用用戶界面開(kāi)發(fā)環(huán)境可方便的創(chuàng)建GUI應(yīng)用程序, 它可以根據(jù)用戶設(shè)計(jì)的GUI布局,自動(dòng)生成M文件的框架,用戶使用這一框架編制自己的應(yīng)用程序。三、GUI程序設(shè)計(jì)(GUI Program desig

6、n)1、設(shè)計(jì)圖形界面設(shè)計(jì)步驟: (1) 在布局編輯器中布置控件,(2) 使用幾何位置排列工具對(duì)控件的位置進(jìn)行調(diào)整;(3) 設(shè)計(jì)控件的屬性;最終顯示效果圖: 2、設(shè)置控件的標(biāo)識(shí) 控件的標(biāo)識(shí)(Tag)是對(duì)于各控件的識(shí)別,每個(gè)控件載創(chuàng)建時(shí)都會(huì)由開(kāi)發(fā)環(huán)境自動(dòng)產(chǎn)生一個(gè)標(biāo)識(shí),在程序設(shè)計(jì)中,為了編輯、記憶和維護(hù)的方便,一般為控件設(shè)置一個(gè)新的標(biāo)識(shí)。效果如下3、 編寫(xiě)代碼(Edit code)GUI圖形界面的功能,還是要通過(guò)一定的設(shè)計(jì)思路和計(jì)算方法,由特定的程序來(lái)實(shí)現(xiàn)。為了實(shí)現(xiàn)程序的功能,還需要在運(yùn)行程序前編寫(xiě)一些代碼,完成程序中變量的賦值、輸入輸出、計(jì)算及繪圖等工作。在創(chuàng)建 GUI 時(shí)系統(tǒng)已經(jīng)為其自動(dòng)生成了

7、M 文件,該文件中包含 GUI 中控件對(duì)應(yīng)的響應(yīng)函數(shù),及系統(tǒng)函數(shù)等。程序源碼部分函數(shù)及相關(guān)注釋:%09數(shù)字鍵、pi、及小數(shù)點(diǎn)按鈕代碼范例%全局變量locaval用于存儲(chǔ)用戶輸入的多位數(shù)值%全局變量gloval2用于存儲(chǔ)待處理的第二位數(shù)值function pushbutton0_Callback(hObject, eventdata, handles)global locaval;a = get(handles.pushbutton1,'String');locaval=strcat(locaval,a);set(handles.text1,'String',lo

8、caval);global gloval2gloval2=locaval;guidata(hObject, handles);%運(yùn)算符按鈕處理“+、-、*、”范例%全局變量flagnum存儲(chǔ)運(yùn)算符標(biāo)志%全局變量global1用于儲(chǔ)存第一個(gè)待處理數(shù)值function pushbutton_chu_Callback(hObject, eventdata, handles)a = get(handles.pushbutton10,'String');b = get(handles.text1,'String');set(handles.text1,'Strin

9、g',a);global flagnumglobal gloval1global locavallocaval=' 'flagnum=1;gloval1=b;guidata(hObject, handles);%取相反數(shù)按鈕“+-”代碼%算法實(shí)現(xiàn):用零減去文本框現(xiàn)在的值,再賦值給文本框function pushbutton_zhengfu_Callback(hObject, eventdata, handles)global locaval;locaval=str2num(locaval);locaval=0-locaval;locaval=num2str(locava

10、l);set(handles.text1,'String',locaval);global gloval2gloval2=locaval;guidata(hObject, handles);% 等號(hào)按鈕運(yùn)算實(shí)現(xiàn)%根據(jù)flagnum運(yùn)算標(biāo)志用switch決策語(yǔ)句實(shí)現(xiàn)相應(yīng)計(jì)算%需注意相應(yīng)數(shù)據(jù)類型的轉(zhuǎn)化function pushbutton_dengyu_Callback(hObject, eventdata, handles)global flagnumglobal gloval1global gloval2global locavallocaval=' 'glov

11、al1=str2num(gloval1);gloval2=str2num(gloval2);case1=gloval1/gloval2;case2=gloval1*gloval2;case3=gloval1-gloval2;case4=gloval1+gloval2;case1=num2str(case1);case2=num2str(case2);case3=num2str(case3);case4=num2str(case4);switch flagnum; case 1 set(handles.text1,'String',case1); case 2 set(handl

12、es.text1,'String',case2); case 3 set(handles.text1,'String',case3); case 4 set(handles.text1,'String',case4);endguidata(hObject,handles)% BackSpace按鈕函數(shù)%算法實(shí)現(xiàn):MATLAB是用矩陣存儲(chǔ)數(shù)據(jù)的,相應(yīng)的可以取文本框的前N-1實(shí)現(xiàn)其功能function pushbutton_BackSpace_Callback(hObject, eventdata, handles)textString = get(

13、handles.text1,'String');if(strcmp(textString,'0.')=1) set(handles.text1,'String','0.') ;else ss=char(textString); l=length(textString); textString=ss(1:l-1);set(handles.text1,'String',textString)endguidata(hObject,handles)%C清除按鈕函數(shù)%把全局變量locaval清零function pushbu

14、tton_qinglin_Callback(hObject, eventdata, handles)global locavallocaval=' 'set(handles.text1,'String','0.');guidata(hObject,handles)%開(kāi)平方函數(shù)function pushbutton22_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');textString=str2num(textString)

15、;textString=sqrt(textString);textString=num2str(textString);set(handles.text1,'String',textString);locaval=' 'guidata(hObject,handles)%三角函數(shù)sincostan的實(shí)現(xiàn)舉例function pushbutton_tan_Callback(hObject, eventdata, handles)% hObject handle to pushbutton_tan (see GCBO)% eventdata reserved - to

16、 be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global locavaltextString = get(handles.edit1,'String');textString=str2num(textString);textString=tan(textString);textString=num2str(textString);set(handles.edit1,'String',textString);locaval=' 'handles.flagnum=0;%guidata(hObject,handles)四、總結(jié)1、通過(guò)MATLAB簡(jiǎn)單計(jì)算器的設(shè)計(jì),初步了解了關(guān)于MATLAB圖形用戶界面的部分控件的使

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論