freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于matlab的圖形用戶界面設(shè)計gui畢業(yè)設(shè)計(編輯修改稿)

2025-07-24 18:13 本頁面
 

【文章內(nèi)容簡介】 單元, 具有強大的數(shù)值計算功能、繪圖功能及可視化的仿真環(huán)境。通過MATLAB提供的圖形用戶界面(Graphical User Interfaces,簡稱GUI) 設(shè)計與開發(fā)功能, 設(shè)計開發(fā)出應用于感應電動機性能分析和參數(shù)計算的GUI,從而為感應電動機性能分析提供了一個有效的軟件計算工具,可以使復雜的數(shù)值計算變得非常簡便。2 設(shè)計課題軟件系統(tǒng) MATLAB的 GUI軟件系統(tǒng)介紹矩陣實驗室(Matrix Laboratory,簡稱MATLAB)是美國MathWorks公司出品的數(shù)學軟件,主要包括兩大部分:MATLAB和Simulink,可實現(xiàn)算法開發(fā)、工程數(shù)值計算和對動態(tài)系統(tǒng)進行建模、仿真等功能。  MATLAB它在理工科的數(shù)值計算方面得到廣泛的運用。MATLAB可以進行矩陣運算、繪制平面及空間圖形、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言編寫的程序等,主要應用于金融建模設(shè)計與分析、工程計算、圖像處理、控制工程、信號處理與通信、信號檢測等領(lǐng)域。MATLAB可以創(chuàng)建圖形用戶界面(Graphical User Interfaces,簡稱GUI) , 圖形用戶界面是指由鼠標、窗口、按鍵、光標、菜單、圖標、對話框和文本框等各種圖形對象組成的用戶界面。它可以讓用戶自由定制與MATLAB的交互方式,而命令窗口不是唯一與MATLAB的交互方式。圖形用戶界面是用戶和計算機之間進行交流的工具,MATLAB 將所有圖形用戶界面支持的用戶控件都集成在這個環(huán)境中并提供界面外觀、屬性、行為響應方式的設(shè)置方法。隨著版本的升級,這種界面設(shè)計能力也在不斷加強,并且具有強大的繪圖功能,可以很方便的獲得更高質(zhì)量的曲線圖。MATLAB為表現(xiàn)其基本的功能而設(shè)計的演示程序demo 是用戶開發(fā)設(shè)計圖形界面的最好范例。在MATLAB的命令窗口中輸入命令demo ,打開演示圖形界面后,用戶只要用鼠標進行選擇和點擊,就可瀏覽其中豐富多彩的內(nèi)容。整體來說, MATLAB的圖形用戶界面設(shè)計有兩種方式:第一種是直接通過程序編寫的方式產(chǎn)生對象, 即利用uicontrol、uimenu、uicontextmenu 等函數(shù)編寫的M文件來開發(fā)整個圖形用戶界面。用戶使用這種方式建立的菜單比較齊全, 文件, 但是它的程序代碼通用性很高, 因此當完成一個圖形界面設(shè)計后, 該程序代碼就可以復制到其他的MATLAB 的M文件中使用, 也可以復制到GUIDE編輯器 的M文件中使用, 如此可以節(jié)省額外開發(fā)相同或類似對象的時間。但用程序編寫的方式建立對象非常繁雜, 不僅需要用戶輸入所要建立的對象屬性名稱和屬性值,還需要用戶事先規(guī)劃好每一個對象的位置。若用戶不是非常熟悉圖形界面的設(shè)計,很可能會難以控制界面的布局。另一種開發(fā)圖形用戶界面的方式是直接通過MATLAB 的GUIDE編輯器進行設(shè)計, 它有點類似Visual Basic 這一類的開發(fā)環(huán)境, 用戶只需將對象直接用鼠標拖拽到相應位置, 就可以快速的開發(fā)設(shè)計出整個圖形用戶界面, 其設(shè)計比編程方式簡單,并可將幾個圖形對象加到一個圖形界面中, 增強可視性。生成圖形用戶界面有以下幾點好處: ● 編寫一個需多次反復使用的實用函數(shù),使文本框、菜單、按鈕作為輸入方法具有重要的意義; ● 編寫函數(shù)或開發(fā)應用程序以供別人使用; ● 創(chuàng)建一個過程、分析方法或技術(shù)的交互式環(huán)境,方便用戶使用;本設(shè)計課題主要是通過MATLAB的GUI編輯界面——GUIDE編輯器來建立簡易計算器與感應電動機性能分析的圖形用戶界面(Graphical User Interfaces,簡稱GUI)。 MATLAB的GUIDE編輯器剛開始建立GUI時,使用GUIDE編輯GUI的速度將會比較快。用戶可以直接在MATLAB的命令窗口中輸入guide,或在MATLAB的start菜單選取【MTALAT】【GUIDE(GUI Builder)】選項或單擊Desktop工具欄上的按鈕,都可以打開MATLAB的GUIDE編輯器來進行界面設(shè)計。 guide使用此編輯器能夠快速地設(shè)計出GUI,并且可以省略繁瑣的函數(shù),是以對象為導向的觀念,使GUI的設(shè)計更加靈活;此外,若通過MATLAB Compiler編譯為可執(zhí)行文件或由MATLAB Runtime Server封裝文件,就可以在沒有MATLAB的環(huán)境下運行使用,以發(fā)揮最大效用。在MATLAB ,GUIDE編輯界面如圖1所示的“GUIDE Quick Start” 對話框,提供了Blank GUI、Modal Question Dialog、GUI with Axes and Menu、GUI with Uicontrols4種樣板。圖1 “GUIDE Quick Start”對話框● Blank GUI樣板:一個空的GUI樣板,必須由用戶自行加入所需要的對象,雙擊此選項后,在GUI編輯區(qū)內(nèi)不會有任何的對象存在?!?Modal Question Dialog樣板:在此編輯器中已經(jīng)有用戶建立的一個問題對話框?!?GUI with Uicontrols樣板:打開已經(jīng)設(shè)計好的一些GUI對象的GUIDE編輯器,而在此編輯器中已經(jīng)包含了由用戶建立的一些具有計算功能的對象?!?GUI with Axes and Menu樣板:在此編輯器中也已經(jīng)有一些由用戶設(shè)計好的GUI對象,而這些對象主要用于計算與輸出。在以上幾個樣板中,用戶一般都是使用Blank GUI來建立GUI對象,選取完后單擊ok按鈕,即可打開如圖2所示的GUI編輯界面。圖2 GUI編輯界面 建立GUIDE對象在MATLAB中打開GUI編輯界面后就可以進行GUI設(shè)計了,如圖2所示的GUIDE 編輯界面中,左方提供了用戶可選擇的uicontrol對象。用戶只需通過鼠標單擊左方任一uicontrol對象后,然后在GUIDE窗口內(nèi)使用鼠標拖拽對象大小來放置,就可以建立好該對象。如圖3所示,用戶用鼠標選取Push Button對象后,直接在GUIDE窗口內(nèi)拖拽該對象的大小來放置Push Button即可。Edit Text、Static Text的建立方式與Push Button的相同。用戶建立完對象后,則在自己已經(jīng)建立的對象上單擊鼠標左鍵來選取該對象作為當前對象,即可修改各對象的大小,此時對象框的四周會顯示四個黑點,即可直接用鼠標拖拽這些黑點來修改對象框的大??;同樣可用鼠標選取該對象后,再拖拽移動對象即可修改對象的位置;用戶可以使用鼠標直接拖拽右下角的黑點來進行修改整個GUI窗口的大小。圖3 GUI的建立 修改GUI對象屬性當建立完對象后,用戶就可以開始修改對象的屬性了,與前面介紹的方式一樣,直接在該GUI對象上雙擊鼠標即可打開如圖4所示的屬性檢查器,里面包含了該對象所有可設(shè)置的屬性值與屬性名稱。假設(shè)必須將圖3內(nèi)的Push Button對象的字形改為粗體字,因此在該屬性檢查器中單擊 “Font Weight”右方的按鈕后,選取其中的“bold”選項就可以將字體改為粗體字;另外,如果我們要更改按鈕的名稱,用戶可以通過修改String屬性,與修改Font Weight的做法相同,但由于String屬性必須是輸入顯示的名稱,因此將原本的屬性值Push Button刪除后再輸入用戶所需設(shè)計的按鈕名稱即可。例如本設(shè)計課題中簡易計算器的GUI設(shè)計的后退按鈕Backspace屬性設(shè)置,如圖5所示。我們發(fā)現(xiàn)在GUIDE中設(shè)置對象屬性是比較方便的,用戶僅需了解該屬性的用途以及各對象間之間的關(guān)系,而不需要完整的去記整個屬性的名稱,并且可以直接通過交互式的界面來進行各對象屬性的修改,這樣可以節(jié)省很多屬性設(shè)置的時間,可以很快地建立一個符合我們要求的圖形界面。圖4 屬性檢查器圖5 修改Push Button對象屬性 GUIDE中加入圖案在GUIDE中加入圖案,首先要在GUIDE編輯界面中建立一個Axes對象,作為圖像顯示的坐標軸,使用axes(句柄值)可以用來控制當前的坐標軸。在MATLAB中,一個完整的圖像顯示過程必須使用到幾個函數(shù),分別為imread(讀取圖像)、image(顯示圖像)、imwrite(寫入圖像),這樣我們就可以將特定的圖案顯示在GUI中,來美化我們的界面(有點類似于Visual Basic內(nèi)的picture對象的效果)。 本設(shè)計課題中感應電動機性能分析界面設(shè)計中顯示的鼠籠式感應電機圖像程序代碼如下:ax=axes(39。Position39。,[ ])。 %控制當前的坐標值[x,map] = imread(39。IMPic139。,39。jpg39。)。image(x)set(gca,39。visible39。,39。off39。) %設(shè)置坐標為隱藏,只顯示圖像ax1=axes(39。Position39。,[0 ])。 設(shè)計課題中的GUI對象介紹下面簡要介紹本設(shè)計課題使用的GUIDE編輯器中對象的用途與使用方式。(1) Push ButtonPush Button為GUI最常使用也是最簡單的對象,當用戶按下Push Button時,MATLAB就會立即依據(jù)其對應的Callback程序來執(zhí)行操作。以下為本設(shè)計課題的數(shù)字1按鈕的Callback,其Tag屬性為pushbutton1,這個按鈕主要是用來進行數(shù)值計算,其整個對應的Callback程序如下:%按鍵1響應% Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)global iiText_String = get(,39。String39。)。if(strcmp(Text_String,39。0.39。)==1)amp。(ii==0) set(,39。String39。,39。139。) 。elseText_String =strcat(Text_String,39。139。)。set(,39。String39。,Text_String)endii=0。需要注意的是GUI中的屬性字符是不分大小寫的,所以Callback與CALLBACK及callback都是相同的。 (2) Static Text Static Text不同于Edit Text,不可以在執(zhí)行中任意編輯輸入值,因此Static Text主要用于制作顯示框、狀態(tài)信息、或其余資料(由String屬性指定顯示的文字),當然其顯示的文字也是可以在執(zhí)行中通過其他對象的Callback去編輯String屬性的。例如當驅(qū)動某一對象的Callback后,會將句柄值為a的Static Text的屬性改為 “執(zhí)行中”,該對象的Callback為set(a,’string’,’執(zhí)行中’)。(3) Edit TextEdit Text主要是用來當做一個輸入的接口,以便用戶能夠輸入字符串、字符或數(shù)字,因此Edit Text的屬性String即可作為一個有效的溝通媒介。用戶可以直接在Edit Text的Callback中編寫獲取該Edit Text輸入值的程序:get(gcbo,’string’),返回當前Edit Text輸入的值,然后在通過userdata或global的方式,將該值傳遞到要使用的Callback中,不過變量較多時,會造成管理上的不便,因此習慣上直接在要使用該值的Callback中,編寫獲取Edit Text輸入值的程序,如hh=findobj(‘tag’,‘a(chǎn)bc’);ff=str2mun(get(hh,‘string’))。,表示將Tag名稱為abc的Edit Text中的輸入值轉(zhuǎn)換為數(shù)值后存儲到ff變量中,這樣就可省去變量傳遞的麻煩。此外,若多行輸入時必須調(diào)整Max與Min的屬性值是MaxMin1,一般習慣將Max設(shè)為2。 編輯GUI對象的Callback在MATLAB中,我們可以對句柄圖形對象設(shè)置一些響應函數(shù),這些事件的響應函數(shù)我們稱之為對象的回調(diào)函數(shù),不同的對象對應的回調(diào)函數(shù)不同。用戶可單擊【Mfile Editor】按鈕,則系統(tǒng)會自動將已建立的GUI對象存儲,隨后將產(chǎn)生*.fig(已建立的GUI文件)與*.m(用以編輯對象Callback的M文件),并且GUIDE會自動打開這個M文件,此時就可以開始編輯對象的Callback程序了。這里編寫Callback的方式與GUIDE菜單編輯器的原理一樣,可以直接在屬性檢查器的“Callback”文本框中輸入要執(zhí)行的MATLAB語句,不過此種方式由于文本框?qū)挾鹊南拗?,因此輸入的Callback語句也將受到限制,當用戶的Callback比較短時,可以直接在“Callback”文本框中輸入MATLAB語句,但當Callback較長時,將非常不適合,這時候必須通過GUIDE的M文件來編輯Callback了,使用此種做法的“Callback”文本框必須設(shè)置為默認的%automatic,當GUIDE存儲后,就可以在M文件中編寫Callback了,其M文件中會顯示類似如下的Callback形式:function pushbutton1_Callback(hObject,eventdata,handles)%hObject是當前對象(Callback)的句柄值;%eventdata是備用參數(shù),目前沒有定義;%handles是一個結(jié)構(gòu)數(shù)組,存放了圖形窗口所有對象的句柄值和用戶數(shù)據(jù)。以上的Callback函數(shù)是Tag名稱為pushbutton1所對應的函數(shù),其后很多以%為首的語句都是系統(tǒng)自動生成的程序注釋語句,可以不必理會,用戶直接在其中加入要執(zhí)行的程序語句即可,則當執(zhí)行GUI時,若單擊Tag名稱為pushbutton1所對應的按鈕,就會觸發(fā)執(zhí)行Callback下所指定的操作。3 設(shè)計課題界面設(shè)計、調(diào)試及程序 設(shè)計課題界面設(shè)計 簡易計算器界面設(shè)計首先用MATLAB GUIDE編輯器,繪制一個靜態(tài)文本框和一個可編輯文本框,以及33個按鈕,調(diào)整好各控件的大小、顏色,其布局如圖6所示,然后雙擊各個控件修改其屬性,單擊激活按鈕,生成如圖7所示的界面,在M文件中編寫各控件的Callback程序,最后調(diào)試運行。圖6 簡易計算器布局
點擊復制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1