• 
    

    
    

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

      基于wxPython的Duffing混沌仿真和控制實驗

      2020-11-06 06:01:29趙海濱顏世玉
      科技創(chuàng)新與應(yīng)用 2020年31期
      關(guān)鍵詞:Python語言仿真實驗

      趙海濱 顏世玉

      摘 ?要:對二維Duffing混沌系統(tǒng)進(jìn)行數(shù)值仿真和鎮(zhèn)定控制。通過SciPy庫中的odeint進(jìn)行微分方程求解,采用wxPython建立圖形用戶界面,并采用Matplotlib進(jìn)行繪圖。對Duffing混沌的參數(shù)進(jìn)行設(shè)置,顯示狀態(tài)變量的二維相圖和響應(yīng)曲線。采用滑??刂破鬟M(jìn)行Duffing混沌鎮(zhèn)定控制,顯示狀態(tài)變量、滑模面和滑??刂破黜憫?yīng)曲線。

      關(guān)鍵詞:混沌系統(tǒng);wxPython;仿真實驗;Python語言

      中圖分類號:TP273 文獻(xiàn)標(biāo)志碼:A ? ? ? ? 文章編號:2095-2945(2020)31-0016-02

      Abstract: Numerical simulation and stabilization control of two-dimensional Duffing chaotic system are carried out. The differential equation is solved by odeint in SciPy library, the graphical user interface is established by wxPython, and the drawing is done by Matplotlib. The parameter of Duffing chaotic systemisset to display the two-dimensional phase diagram and response curve of state variables. Sliding mode controller is used to stabilize Duffing chaotic system, and the response curves of state variables, sliding surface and sliding mode controller are displayed.

      Keywords: chaotic system; wxPython; simulation experiment; Python language

      混沌系統(tǒng)廣泛存在于自然界和人類社會,在很多領(lǐng)域都有著廣泛的應(yīng)用,例如圖形加密、人工智能和保密通信等[1]。Duffing混沌是典型的二階非線性系統(tǒng),結(jié)構(gòu)簡單,采用單一的控制器就能夠?qū)崿F(xiàn)系統(tǒng)的鎮(zhèn)定控制[2]。通過滑模面和指數(shù)趨近律設(shè)計滑??刂破鱗3],并采用滑??刂破鬟M(jìn)行Duffing混沌系統(tǒng)的鎮(zhèn)定控制。

      本文采用Python語言對Duffing混沌系統(tǒng)進(jìn)行建模仿真,并設(shè)計滑??刂破鬟M(jìn)行系統(tǒng)的鎮(zhèn)定控制。采用Python語言編程實現(xiàn),通過SciPy庫的odeint函數(shù)進(jìn)行微分方程求解,通過wxPython建立圖形用戶界面,采用Matplotlib進(jìn)行數(shù)據(jù)可視化[4]。設(shè)計的滑模控制器能夠進(jìn)行Duffing混沌系統(tǒng)的鎮(zhèn)定控制,狀態(tài)變量漸進(jìn)收斂到零。

      1 Duffing混沌的滑模控制

      Duffing混沌是典型的二階非線性系統(tǒng),狀態(tài)方程表示為

      其中,x1和x2為系統(tǒng)的狀態(tài)變量,t為時間,a、b和c為常數(shù)。當(dāng)a=-1,b=0.25,c=0.3時,系統(tǒng)處于混沌狀態(tài)。

      設(shè)計滑??刂破鬟M(jìn)行Duffing混沌系統(tǒng)的鎮(zhèn)定控制。帶有控制輸入的受控Duffing系統(tǒng),表示為:

      其中,u為設(shè)計的滑模控制器。滑模面設(shè)計為:

      s=x2+k1x1 ? (3)

      其中,k1為大于零的常數(shù)。

      在滑??刂破髟O(shè)計中,采用的指數(shù)趨近律為:

      (4)

      其中,k2和k3為大于零的常數(shù)。

      采用指數(shù)趨近律時,滑??刂破髟O(shè)計為:

      (5)

      其中,s為滑模面,sgn(·)為符號函數(shù)。為了削弱抖振,采用雙曲正切函數(shù)tanh(·)代替符號函數(shù)。

      2 采用wxPython建立GUI界面

      wxPython是Python語言的GUI圖形庫,可以方便的創(chuàng)建GUI用戶界面。wxPython是GUI庫wxWidgets的Python封裝,是一款優(yōu)秀的開源軟件,具有非常有限的跨平臺能力。采用SciPy庫中的odeint函數(shù)進(jìn)行微分方程組的求解。odeint函數(shù)至少需要3個變量,分別是微分方程函數(shù)、初始值和時間變量。Matplotlib是Python語言的優(yōu)秀繪圖庫,非常方便進(jìn)行數(shù)據(jù)的可視化。采用Matplotlib進(jìn)行圖形的繪制。

      根據(jù)Duffing混沌系統(tǒng)的狀態(tài)方程,進(jìn)行仿真,并顯示狀態(tài)變量的二維相圖和響應(yīng)曲線。采用設(shè)計的滑??刂破鬟M(jìn)行Duffing混沌的鎮(zhèn)定控制,狀態(tài)變量漸進(jìn)收斂到零。在wxPython庫中選擇wx.Notebook進(jìn)行設(shè)計,可以通過單擊選項卡的標(biāo)題,在2個頁面之間進(jìn)行切換。采用wxPython設(shè)計的主界面,如圖1所示。

      3 仿真實驗

      在軟件的主界面中,單擊按鈕“Duffing混沌參數(shù)”,會出現(xiàn)如圖2所示的對話框,對Duffing混沌系統(tǒng)的參數(shù)和初始狀態(tài)進(jìn)行設(shè)置。

      在圖2中,對Duffing混沌系統(tǒng)的參數(shù)和初始狀態(tài)進(jìn)行設(shè)置后,單擊按鈕“確定”,進(jìn)行混沌仿真。Duffing混沌仿真后,可以顯示狀態(tài)變量的二維相圖和響應(yīng)曲線,狀態(tài)變量的二維相圖,如圖3所示。

      圖3 狀態(tài)變量的二維相圖

      在軟件的主界面中,選擇選項卡“Duffing混沌鎮(zhèn)定控制”,采用滑模控制器進(jìn)行Duffing混沌系統(tǒng)的鎮(zhèn)定控制。單擊按鈕“鎮(zhèn)定控制參數(shù)”,會出現(xiàn)如圖4所示的對話框,對控制器中的參數(shù)進(jìn)行設(shè)置。

      圖4 控制參數(shù)設(shè)置對話框

      在圖4中,單擊按鈕“確認(rèn)”,采用滑??刂破鬟M(jìn)行Duffing混沌的鎮(zhèn)定控制。Duffing混沌的鎮(zhèn)定控制,可以顯示狀態(tài)變量、滑模面和滑??刂破鞯捻憫?yīng)曲線。Duffing混沌鎮(zhèn)定控制時,狀態(tài)變量的響應(yīng)曲線,如圖5所示,狀態(tài)變量漸進(jìn)收斂到零。

      圖5 控制器的響應(yīng)曲線

      4 結(jié)束語

      本文采用wxPython設(shè)計了Duffing混沌仿真和控制實驗系統(tǒng),能夠進(jìn)行Duffing混沌系統(tǒng)的仿真和鎮(zhèn)定控制。仿真實驗系統(tǒng)可以對系統(tǒng)參數(shù)和控制參數(shù)進(jìn)行設(shè)置,仿真結(jié)果采用Matplotlib進(jìn)行圖形的繪制,非常的形象和直觀,對實驗教學(xué)有一定的參考價值。

      參考文獻(xiàn):

      [1]孫克輝.混沌保密通信原理與技術(shù)[M].北京:清華大學(xué)出版社,2015.

      [2]石建飛,張艷龍,王麗,等.Duffing系統(tǒng)的雙參數(shù)分岔與全局特性分析[J].噪聲與振動控制,2016,36(06):32-37.

      [3]劉金琨.滑模變結(jié)構(gòu)控制MATLAB仿真(第3版)[M].北京:清華大學(xué)出版社,2015.

      [4]張健,張良均.Python編程基礎(chǔ)[M].北京:人民郵電出版社,2018.

      猜你喜歡
      Python語言仿真實驗
      Python語言程序設(shè)計教學(xué)體系建設(shè)
      面向計算生態(tài)的Python語言入門課程教學(xué)方案
      基于Python語言和支持向量機(jī)的字符驗證碼識別
      論Python程序設(shè)計語言
      基于Python語言的面向?qū)ο笳n程實踐教學(xué)探討
      仿真軟件在制藥人才培養(yǎng)中的作用分析
      開展體驗式教學(xué)創(chuàng)新研究 提高化學(xué)課堂有效性
      基于Android的Python語言英漢維電子詞典設(shè)計與實現(xiàn)
      基于多重視閾下的《電子控制技術(shù)》課程的教學(xué)探討
      考試周刊(2016年64期)2016-09-22 18:20:00
      基于ETAP的電氣設(shè)計仿真實驗
      大英县| 五寨县| 乐平市| 木里| 祁阳县| 克什克腾旗| 镇平县| 太和县| 原阳县| 富阳市| 无棣县| 那曲县| 云浮市| 从江县| 多伦县| 许昌县| 高陵县| 溆浦县| 驻马店市| 民丰县| 临沂市| 改则县| 崇阳县| 钦州市| 福泉市| 阆中市| 商都县| 西峡县| 乌兰察布市| 红桥区| 石阡县| 九江县| 周至县| 都昌县| 台湾省| 绵竹市| 太白县| 保亭| 连南| 大埔区| 巴彦县|