• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于MATLAB的自動(dòng)控制可視化仿真平臺(tái)開(kāi)發(fā)

      2021-09-02 02:11:28陳慧蓉范雨薇
      關(guān)鍵詞:文本框頻域時(shí)域

      陳慧蓉,范雨薇,蔣 玲,方 忠,葛 鑫

      自動(dòng)控制理論在近代逐漸發(fā)展為一個(gè)成熟且完善的理論體系,是自動(dòng)控制系統(tǒng)設(shè)計(jì)與分析的重要理論依據(jù)[1].傳統(tǒng)的自動(dòng)控制系統(tǒng)分析與設(shè)計(jì)主要在實(shí)際操作平臺(tái)上進(jìn)行,分析與設(shè)計(jì)過(guò)程效率低、成本高.自計(jì)算機(jī)誕生以來(lái),計(jì)算機(jī)逐漸展現(xiàn)出了其強(qiáng)大的信息處理能力,微軟、蘋果、施樂(lè)等公司相繼推出基于GUI的操作系統(tǒng),GUI能夠?qū)⒉僮鹘缑嬉詧D形的方式呈現(xiàn)給用戶,具有良好的人機(jī)交互性.MATLAB是MathWorks公司推出的一款商業(yè)化數(shù)學(xué)軟件,它擁有強(qiáng)大的計(jì)算能力[2],搭載了GUI開(kāi)發(fā)模塊、Simulink仿真模塊,且內(nèi)置各類分析自動(dòng)控制系統(tǒng)性能的函數(shù),是搭建基于GUI的自動(dòng)控制系統(tǒng)仿真實(shí)驗(yàn)平臺(tái)的最佳選擇.

      此前也有許多利用GUI開(kāi)發(fā)可視化仿真平臺(tái)的實(shí)例[3-4],本文將GUI與自動(dòng)控制系統(tǒng)的分析相結(jié)合,基于MATLAB GUI搭建了一個(gè)自動(dòng)控制系統(tǒng)仿真實(shí)驗(yàn)平臺(tái),使用戶可以通過(guò)鼠標(biāo)和鍵盤與平臺(tái)進(jìn)行交互,在GUI窗口中進(jìn)行數(shù)據(jù)輸入和功能操作,MATLAB根據(jù)輸入的參數(shù)快速且直觀地顯示出用戶所需的系統(tǒng)性能指標(biāo)和系統(tǒng)仿真曲線.比之傳統(tǒng)的實(shí)際操作平臺(tái),基于MATLAB GUI的仿真實(shí)驗(yàn)平臺(tái)成本低、效率高,充分結(jié)合了MATLAB的數(shù)據(jù)處理能力和GUI界面的良好交互性.該自動(dòng)控制系統(tǒng)仿真實(shí)驗(yàn)平臺(tái)將會(huì)大幅改善用戶的使用體驗(yàn).

      1 MATLAB GUI概述

      圖形用戶界面(Graphical User Interface,GUI)是一種人機(jī)交互的界面顯示格式,將操作界面以圖形方式呈現(xiàn)在用戶面前,用戶可以通過(guò)鼠標(biāo)、鍵盤等設(shè)備與這些圖形進(jìn)行交互,從而實(shí)現(xiàn)相應(yīng)的操作.

      MATLAB為設(shè)計(jì)者提供了一個(gè)GUI設(shè)計(jì)環(huán)境——集成圖形用戶界面開(kāi)發(fā)環(huán)境(GUIDE).在命令行里輸入“guide”指令并敲擊回車就可以彈出GUIDE編輯器的模板設(shè)計(jì)界面.一個(gè)GUI界面被建立時(shí),自動(dòng)生成一個(gè).m文件和一個(gè).fig文件[5],在.fig文件中可以通過(guò)工具箱在GUI界面中布置按鈕(Button)、坐標(biāo)軸(Axes)、可編輯文本(Edit)等功能按鈕,在.m文件中儲(chǔ)存著GUI初始化函數(shù),以及每一個(gè)功能按鈕的回調(diào)函數(shù).

      句柄和回調(diào)函數(shù)是GUI設(shè)計(jì)過(guò)程中的核心內(nèi)容.句柄(handle)可以理解為一種特殊的指針,用以指向Figure及GUI中的功能按鈕圖形,每個(gè)功能按鈕都有自己的句柄,通過(guò)正確調(diào)用這些句柄,程序員可以精準(zhǔn)地對(duì)每個(gè)控件進(jìn)行操作.在對(duì)控件進(jìn)行操作時(shí),MATLAB后臺(tái)能夠自動(dòng)調(diào)用它名下的回調(diào)函數(shù)(callback),故在GUI中如果想讓某個(gè)功能按鈕實(shí)現(xiàn)目標(biāo)操作,就需要在其回調(diào)函數(shù)中編寫相應(yīng)的程序.

      MATLAB中也提供了GUI文件的封裝工具deploytool,該工具可以將GUI界面封裝成.exe可執(zhí)行文件.

      2 軟件架構(gòu)及功能設(shè)計(jì)

      2.1 軟件架構(gòu)設(shè)計(jì)

      (1)獲取用戶自定義參數(shù).由于自動(dòng)控制系統(tǒng)在工程中應(yīng)用場(chǎng)合較多,不同的用戶根據(jù)自己的需求往往會(huì)設(shè)計(jì)出不同的自動(dòng)控制系統(tǒng),因此,實(shí)驗(yàn)平臺(tái)應(yīng)允許用戶在符合物理規(guī)律的條件下自由地設(shè)置系統(tǒng)參數(shù).

      以可編輯文本框?yàn)槔摬考试S用戶在GUI運(yùn)行的情況下更改文本框中的數(shù)值,也提供了獲取文本框當(dāng)前內(nèi)容的函數(shù),因此,可以利用可編輯文本框來(lái)獲取用戶自定義參數(shù).例如,建立一個(gè)二階系統(tǒng)傳遞函數(shù)的輸入界面如圖1(a)所示,如果用戶想要建立一個(gè)二階系統(tǒng)的模型,只需在對(duì)應(yīng)的可編輯文本框里輸入系數(shù),如圖1(b)所示.在按鈕的回調(diào)函數(shù)中利用get()語(yǔ)句獲取用戶輸入的系數(shù)并轉(zhuǎn)換成數(shù)值格式,再賦給各個(gè)變量即可完成對(duì)自定義參數(shù)的獲取.

      圖1 自定義參數(shù)的輸入與獲取

      (2)人機(jī)交互性.人機(jī)交互性是GUI最突出的優(yōu)勢(shì)之一,GUI以圖形的方式包裝基本使用功能,用戶在操作時(shí)無(wú)需關(guān)注后臺(tái)代碼,只需通過(guò)輸入設(shè)備(如鼠標(biāo)、麥克風(fēng))與圖形進(jìn)行交互即可完成相應(yīng)的功能.

      以彈出式菜單為例,該部件允許用戶在GUI運(yùn)行的情況下從下拉列表中選擇不同的內(nèi)容,MATLAB提供了獲取彈出式菜單當(dāng)前列表編號(hào)值的函數(shù),計(jì)算機(jī)可以通過(guò)switch語(yǔ)句判斷當(dāng)前編號(hào)值,然后執(zhí)行編號(hào)所對(duì)應(yīng)的功能,最后再將數(shù)據(jù)返回至窗口.例如,可以在時(shí)域分析界面的彈出式菜單中選擇二階系統(tǒng)調(diào)節(jié)時(shí)間的誤差帶,如圖2所示,程序利用get()函數(shù)獲取誤差帶的列表編號(hào)之后,根據(jù)用戶的選擇計(jì)算出不同的調(diào)節(jié)時(shí)間數(shù)值并顯示在右側(cè)文本框中,實(shí)現(xiàn)了用戶與GUI之間的交互.

      圖2 GUI設(shè)計(jì)中的人機(jī)交互性

      (3)美觀性.美觀性設(shè)計(jì)是GUI設(shè)計(jì)中不可或缺的一環(huán),美觀且合理的界面能夠減少用戶使用時(shí)的疲勞感,并使數(shù)據(jù)分析的結(jié)果更加直觀,因此必須要對(duì)GUI面板中功能按鈕進(jìn)行合理布局.

      以圖3所示時(shí)域分析窗口為例,該窗口將一階系統(tǒng)的動(dòng)態(tài)性能指標(biāo)與其時(shí)域響應(yīng)放置在一起,將系統(tǒng)的穩(wěn)定性分析與其閉環(huán)零極點(diǎn)放在一起,這樣的布局便于用戶更好觀察到圖像與數(shù)據(jù)之間的聯(lián)系,達(dá)到數(shù)形結(jié)合的目的,從而對(duì)自動(dòng)控制系統(tǒng)產(chǎn)生更深刻的認(rèn)識(shí).

      圖3 GUI設(shè)計(jì)中的美觀性

      2.2 分析界面功能設(shè)計(jì)

      本軟件的總體設(shè)計(jì)框圖如圖4所示,用戶在模型輸入界面輸入模型參數(shù)之后平臺(tái)將會(huì)建立傳遞函數(shù)模型,隨后用戶可選擇時(shí)域、頻域、狀態(tài)空間三種分析方式.

      圖4 主界面設(shè)計(jì)框圖

      分析界面的功能結(jié)構(gòu)框圖如圖5所示.

      圖5 分析界面功能結(jié)構(gòu)框圖

      (1)獲取系統(tǒng)模型參數(shù).從可編輯文本框中獲取用戶輸入的傳遞函數(shù)系數(shù),儲(chǔ)存在對(duì)應(yīng)的全局變量中供后續(xù)建模、顯示和計(jì)算使用.

      (2)顯示系統(tǒng)模型.在時(shí)域和頻域分析界面中根據(jù)參數(shù)建立起分子、分母矩陣,并構(gòu)造傳遞函數(shù)表達(dá)式的LaTeX語(yǔ)句,利用text()函數(shù)在對(duì)應(yīng)的坐標(biāo)軸中顯示系統(tǒng)的開(kāi)、閉環(huán)傳遞函數(shù);在狀態(tài)空間分析界面中則根據(jù)閉環(huán)傳遞函數(shù)的分子和分母矩陣構(gòu)造狀態(tài)空間矩陣,并將傳遞函數(shù)和四個(gè)狀態(tài)空間矩陣顯示在對(duì)應(yīng)坐標(biāo)軸中.

      (3)計(jì)算并顯示系統(tǒng)性能指標(biāo).在時(shí)域分析中,利用系統(tǒng)參數(shù)根據(jù)解析式計(jì)算性能指標(biāo)并顯示;在頻域分析中,利用margin()函數(shù)讀取頻域性能指標(biāo)并顯示;在狀態(tài)空間分析中,判斷系統(tǒng)的可控性、可觀性,以及李雅普諾夫穩(wěn)定性并顯示.

      (4)顯示系統(tǒng)曲線.在時(shí)域分析中,顯示系統(tǒng)在典型輸入下的響應(yīng)曲線、零極點(diǎn)圖和根軌跡圖;在頻域分析中,顯示系統(tǒng)的伯德圖、奈奎斯特圖、零極點(diǎn)圖和根軌跡圖.

      (5)返回并清除歷史數(shù)據(jù).三個(gè)分析界面均設(shè)置了返回按鈕,在返回至模型輸入界面的同時(shí)會(huì)將變量清零并清除坐標(biāo)軸圖像,這種做法可以避免歷史數(shù)據(jù)影響程序的使用.

      3 軟件功能實(shí)現(xiàn)

      根據(jù)圖4所示的主界面設(shè)計(jì)框圖和圖5所示的分析界面功能結(jié)構(gòu)框圖,利用MATLAB GUI實(shí)現(xiàn)軟件功能設(shè)計(jì).在GUI窗口中根據(jù)人機(jī)交互性原則和界面美觀性原則配置部件,并在回調(diào)函數(shù)中編寫程序,使GUI根據(jù)用戶的調(diào)用信息完成相應(yīng)功能.

      3.1 獲取系統(tǒng)參數(shù)

      在建模窗口輸入二階系統(tǒng)參數(shù),如圖6所示,在可編輯文本框的回調(diào)函數(shù)中編寫如下語(yǔ)句獲取并儲(chǔ)存用戶自定義參數(shù).

      圖6 建立模型

      3.2 系統(tǒng)分析

      點(diǎn)擊按鈕便可以跳轉(zhuǎn)至相應(yīng)的分析窗口.時(shí)域分析窗口如圖7(a)所示,默認(rèn)顯示系統(tǒng)模型、時(shí)域性能指標(biāo)、單位階躍響應(yīng)曲線以及根軌跡圖.通過(guò)彈出式菜單更改顯示內(nèi)容,在彈出式菜單的回調(diào)函數(shù)中獲取當(dāng)前列表值,程序如下:

      隨后通過(guò)switch函數(shù)根據(jù)列表值編寫相應(yīng)程序?qū)@示內(nèi)容更改為單位斜坡響應(yīng)和零極點(diǎn)圖,如圖7(b)所示,程序如下:

      圖7 時(shí)域分析窗口

      頻域分析窗口如圖8所示,默認(rèn)顯示系統(tǒng)模型、頻域性能指標(biāo)、伯德圖以及根軌跡圖,在彈出式菜單中可以更改顯示內(nèi)容.頻域性能指標(biāo)通過(guò)margin()函數(shù)讀取,存入數(shù)組中再進(jìn)行顯示,程序如下:

      圖8 頻域分析窗口

      狀態(tài)空間分析窗口如圖9所示,默認(rèn)顯示系統(tǒng)模型和可控性、可觀性和李雅普諾夫穩(wěn)定性結(jié)論.在狀態(tài)空間分析中采用李雅普諾夫意義下的穩(wěn)定性分析,首先利用diag()函數(shù)構(gòu)造一個(gè)與系數(shù)矩陣A同維的單位陣W,diag()函數(shù)接收一個(gè)數(shù)組作為參數(shù),并輸出以該數(shù)組元素作為對(duì)角線元素的對(duì)角陣.程序如下:

      圖9 狀態(tài)空間分析窗口

      然后構(gòu)造李雅普諾夫矩陣V并通過(guò)判斷V順序主子式的正負(fù)來(lái)判斷其正定性,如果正定則系統(tǒng)穩(wěn)定,反之不穩(wěn)定[6].

      4 軟件封裝

      MATLAB提供了封裝工具deploytool,用于將函數(shù)打包并封裝成可執(zhí)行文件.在命令行輸入“deploytool”,彈出Compiler窗口,選擇Application Compiler進(jìn)入封裝界面,在上方Addmainfile對(duì)話框中選取程序運(yùn)行后第一個(gè)GUI窗口的.m文件作為主文件,在下方Files required for your application to run中選擇該軟件運(yùn)行所需的文件,輸入名稱、初始化圖片等參數(shù)后點(diǎn)擊上方的Package按鈕,實(shí)現(xiàn)軟件的封裝.

      封裝后的.exe文件允許用戶在未安裝MATLAB的情況下使用軟件功能,提高了本軟件的泛用性.

      5 結(jié)語(yǔ)

      本文搭建了一個(gè)基于MATLAB GUI的自動(dòng)控制系統(tǒng)的仿真分析平臺(tái),通過(guò)獲取用戶輸入的系統(tǒng)參數(shù)構(gòu)造系統(tǒng)模型,并可對(duì)系統(tǒng)進(jìn)行時(shí)域、頻域和狀態(tài)空間分析,在分析界面中用戶可以直觀地查看系統(tǒng)模型表達(dá)式、系統(tǒng)主要性能指標(biāo)、系統(tǒng)的幾何分析圖像,以及性能分析結(jié)果.平臺(tái)操作簡(jiǎn)單,交互性強(qiáng),界面可視化,軟件在封裝成可執(zhí)行文件后可以脫離MATLAB環(huán)境運(yùn)行.

      猜你喜歡
      文本框頻域時(shí)域
      巧用文本框?qū)崿F(xiàn)PPT多圖片排版
      PPT文本框的另類應(yīng)用
      基于時(shí)域信號(hào)的三電平逆變器復(fù)合故障診斷
      頻域稀疏毫米波人體安檢成像處理和快速成像稀疏陣列設(shè)計(jì)
      基于極大似然準(zhǔn)則與滾動(dòng)時(shí)域估計(jì)的自適應(yīng)UKF算法
      基于改進(jìn)Radon-Wigner變換的目標(biāo)和拖曳式誘餌頻域分離
      基于時(shí)域逆濾波的寬帶脈沖聲生成技術(shù)
      一種基于頻域的QPSK窄帶干擾抑制算法
      文本框酷變3D效果
      基于頻域伸縮的改進(jìn)DFT算法
      黔江区| 千阳县| 渭南市| 安仁县| 铜梁县| 中山市| 襄樊市| 乐山市| 上虞市| 万山特区| 平阴县| 怀仁县| 航空| 保德县| 呼伦贝尔市| 招远市| 罗甸县| 长宁区| 镇康县| 台安县| 沙雅县| 花垣县| 民勤县| 惠东县| 九江市| 称多县| 通榆县| 延寿县| 谷城县| 新兴县| 金昌市| 江达县| 原平市| 宣汉县| 徐州市| 满洲里市| 和平区| 肃南| 锦州市| 滨海县| 深圳市|