国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

趙海濱 顏世玉

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

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

中圖分類號:TP273 文獻標志碼: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行Duffing混沌系統(tǒng)的鎮(zhèn)定控制。

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

1 Duffing混沌的滑??刂?/p>

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

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

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

其中,u為設(shè)計的滑??刂破??;C嬖O(shè)計為:

s=x2+k1x1 ? (3)

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

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

(4)

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

采用指數(shù)趨近律時,滑模控制器設(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ù)進行微分方程組的求解。odeint函數(shù)至少需要3個變量,分別是微分方程函數(shù)、初始值和時間變量。Matplotlib是Python語言的優(yōu)秀繪圖庫,非常方便進行數(shù)據(jù)的可視化。采用Matplotlib進行圖形的繪制。

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

3 仿真實驗

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

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

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

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

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

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

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

4 結(jié)束語

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

參考文獻:

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

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

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

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

猜你喜歡
Python語言仿真實驗
Python語言程序設(shè)計教學體系建設(shè)
計算機教育(2017年8期)2017-09-01 14:51:42
面向計算生態(tài)的Python語言入門課程教學方案
計算機教育(2017年8期)2017-09-01 13:44:40
基于Python語言和支持向量機的字符驗證碼識別
論Python程序設(shè)計語言
基于Python語言的面向?qū)ο笳n程實踐教學探討
仿真軟件在制藥人才培養(yǎng)中的作用分析
開展體驗式教學創(chuàng)新研究 提高化學課堂有效性
基于Android的Python語言英漢維電子詞典設(shè)計與實現(xiàn)
基于多重視閾下的《電子控制技術(shù)》課程的教學探討
考試周刊(2016年64期)2016-09-22 18:20:00
基于ETAP的電氣設(shè)計仿真實驗
开远市| 承德市| 昔阳县| 化德县| 沿河| 库尔勒市| 防城港市| 新巴尔虎左旗| 关岭| 龙游县| 红桥区| 湖口县| 田东县| 石林| 彭水| 鸡泽县| 榆社县| 阿拉善盟| 镇江市| 南陵县| 泰安市| 永丰县| 偃师市| 枞阳县| 静乐县| 达日县| 永清县| 当涂县| 屯留县| 泾源县| 延寿县| 琼结县| 清徐县| 新昌县| 无棣县| 会泽县| 津市市| 玉门市| 嘉义市| 建水县| 昌宁县|