亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        此前也有許多利用GUI開發(fā)可視化仿真平臺(tái)的實(shí)例[3-4],本文將GUI與自動(dòng)控制系統(tǒng)的分析相結(jié)合,基于MATLAB GUI搭建了一個(gè)自動(dòng)控制系統(tǒng)仿真實(shí)驗(yàn)平臺(tái),使用戶可以通過鼠標(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)在用戶面前,用戶可以通過鼠標(biāo)、鍵盤等設(shè)備與這些圖形進(jìn)行交互,從而實(shí)現(xiàn)相應(yīng)的操作.

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

        句柄和回調(diào)函數(shù)是GUI設(shè)計(jì)過程中的核心內(nèi)容.句柄(handle)可以理解為一種特殊的指針,用以指向Figure及GUI中的功能按鈕圖形,每個(gè)功能按鈕都有自己的句柄,通過正確調(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)槔?,該部件允許用戶在GUI運(yùn)行的情況下更改文本框中的數(shù)值,也提供了獲取文本框當(dāng)前內(nèi)容的函數(shù),因此,可以利用可編輯文本框來獲取用戶自定義參數(shù).例如,建立一個(gè)二階系統(tǒng)傳遞函數(shù)的輸入界面如圖1(a)所示,如果用戶想要建立一個(gè)二階系統(tǒng)的模型,只需在對(duì)應(yīng)的可編輯文本框里輸入系數(shù),如圖1(b)所示.在按鈕的回調(diào)函數(shù)中利用get()語句獲取用戶輸入的系數(shù)并轉(zhuǎn)換成數(shù)值格式,再賦給各個(gè)變量即可完成對(duì)自定義參數(shù)的獲取.

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

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

        以彈出式菜單為例,該部件允許用戶在GUI運(yùn)行的情況下從下拉列表中選擇不同的內(nèi)容,MATLAB提供了獲取彈出式菜單當(dāng)前列表編號(hào)值的函數(shù),計(jì)算機(jī)可以通過switch語句判斷當(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語句,利用text()函數(shù)在對(duì)應(yīng)的坐標(biāo)軸中顯示系統(tǒng)的開、閉環(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ù)中編寫如下語句獲取并儲(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)曲線以及根軌跡圖.通過彈出式菜單更改顯示內(nèi)容,在彈出式菜單的回調(diào)函數(shù)中獲取當(dāng)前列表值,程序如下:

        隨后通過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)通過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并通過判斷V順序主子式的正負(fù)來判斷其正定性,如果正定則系統(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é)語

        本文搭建了一個(gè)基于MATLAB GUI的自動(dòng)控制系統(tǒng)的仿真分析平臺(tái),通過獲取用戶輸入的系統(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算法
        极品少妇xxxx精品少妇偷拍| 成人无码网www在线观看| 亚洲中文字幕黄色小视频| 亚洲一区二区三区av资源| 国产成人精品亚洲日本在线观看| 熟女人妻在线视频| 国产AV国片精品有毛| 粗大挺进孕妇人妻在线| 日本道免费一区二区三区日韩精品 | 日韩人妻精品视频一区二区三区| 亚洲欧美中文字幕5发布| 免费人成再在线观看网站| 无遮挡很爽视频在线观看| 国产精品视频白浆免费视频| 伊人色综合久久天天五月婷| 国产一区二区三区美女| 久久久诱惑一区二区三区| 丝袜美腿福利视频在线| 国内精品人妻无码久久久影院| 亚洲国产成人精品女人久久久| 久久熟女乱一区二区三区四区| 在线观看中文字幕二区| 又大又粗又爽18禁免费看| 色yeye免费视频免费看| 97激情在线视频五月天视频| 亚洲国产a∨无码中文777| 伊人狠狠色丁香婷婷综合| 精品亚洲女同一区二区| 国产av一区二区网站| 日本少妇浓毛bbwbbwbbw| 亚洲精品无码久久毛片| 久久精品国产视频在热| 久久久极品少妇刺激呻吟网站 | 亚洲最大天堂无码精品区| 中文字幕亚洲精品第一页| 亚洲av久播在线一区二区| 精品午夜福利无人区乱码一区| 欧美日韩一区二区三区视频在线观看 | av资源在线永久免费观看| 丁香五月缴情在线| 亚洲国产精品久久亚洲精品|