趙海濱 顏世玉
摘? 要:對于Arneodo混沌系統(tǒng),采用全局滑??刂破鬟M行鎮(zhèn)定控制。通過Python語言進行系統(tǒng)仿真,采用SciPy庫中的odeint函數(shù)進行常微分方程的求解,采用Tkinter建立人機交互界面對系統(tǒng)參數(shù)進行設(shè)置,并采用Matplotlib進行數(shù)據(jù)的可視化。數(shù)值仿真結(jié)果表明,全局滑模控制器能夠進行Arneodo混沌系統(tǒng)的鎮(zhèn)定控制。
關(guān)鍵詞:Arneodo混沌系統(tǒng)? Python語言? Tkinter? 全局滑模控制器
中圖分類號:TP273? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? 文章編號:1674-098X(2020)10(a)-0080-03
Abstract: For Arneodo chaotic system, a global sliding mode controller is used to stabilize the system. The system is simulated by Python language, the odeint function in Scipy library is used to solve ordinary differential equations, the human-computer interface is established by Tkinter, the system parameters are set, and the data is visualized by Matplotlib. Numerical simulation results show that the global sliding mode controller can stabilize Arneodo chaotic system.
Key Words: Arneodo chaotic system; Python language; Tkinter; Global sliding mode controller
混沌系統(tǒng)對初始條件非常敏感,廣泛存在于各種非線性系統(tǒng)中,有著十分廣闊的應用前景[1]。Arneodo混沌是三階嚴反饋系統(tǒng),能夠用硬件電路實現(xiàn),具有非常豐富的動力學特性[2]。Python語言具有開源、跨平臺和簡單易學等特點,自發(fā)布以來得到了迅速發(fā)展且應用廣泛[3-4]。Python語言在人工智能、大數(shù)據(jù)分析和機器學習中具有廣泛應用[5]。Python語言有大量的開源庫可供調(diào)用[6],非常方便。Tkinter是Python自帶的標準GUI庫,可以方便建立GUI應用程序。
根據(jù)Arneodo混沌系統(tǒng)的狀態(tài)方程,本文對Arneodo混沌系統(tǒng)進行仿真,并采用全局滑??刂破鬟M行鎮(zhèn)定控制。采用全局滑模面和雙冪次趨近律設(shè)計全局滑??刂破鳌H只?刂破骶哂蟹浅:玫聂敯粜訹7],能夠用于Arneodo混沌系統(tǒng)的鎮(zhèn)定控制。采用Python語言進行系統(tǒng)仿真時,采用SciPy庫中的odeint函數(shù)進行常微分方程的求解。采用Tkinter建立軟件的人機交互界面,并采用Matplotlib進行數(shù)據(jù)的可視化。
1? Arneodo混沌系統(tǒng)
Arneodo混沌系統(tǒng)是典型的三階嚴反饋混沌系統(tǒng),其數(shù)學模型表示為
2? 全局滑??刂?/p>
采用全局滑模控制器進行Arneodo混沌系統(tǒng)的鎮(zhèn)定控制,帶有控制輸入的受控系統(tǒng),表示為
采用全局滑??刂破鬟M行Arneodo混沌系統(tǒng)的鎮(zhèn)定控制,狀態(tài)變量漸進收斂到零。
3? 仿真實驗
采用Python語言進行Arneodo混沌系統(tǒng)的仿真和全局滑??刂啤2捎肞ython自帶的Tkinter進行人機交互界面的設(shè)計,如圖1所示。在圖1中,左側(cè)進行參數(shù)的設(shè)置,右側(cè)進行圖形的繪制。在圖1中,對Arneodo混沌系統(tǒng)的參數(shù)和初始狀態(tài)進行設(shè)置,并對全局滑??刂破鞯膮?shù)進行設(shè)置。
在圖1中,可以修改系統(tǒng)的參數(shù),仿真時間為100s。通過用鼠標單擊按鈕“Arneodo混沌仿真”,可以進行Arneodo混沌系統(tǒng)的仿真,能夠顯示狀態(tài)變量的二維相圖和響應曲線。然后,用鼠標單擊按鈕“x1-x3二維相圖”,會顯示狀態(tài)變量的二維相圖,如圖2所示。Arneodo系統(tǒng)處于混沌狀態(tài)。
在圖1中,對全局滑模控制器的參數(shù)進行設(shè)置,用鼠標單擊按鈕“全局滑??刂啤保捎迷O(shè)計的全局滑??刂破鬟M行Arneodo混沌系統(tǒng)的鎮(zhèn)定控制。采用全局滑??刂破鬟M行Arneodo混沌鎮(zhèn)定控制后,狀態(tài)變量的響應曲線,如圖3所示,仿真時間為6s。Arneodo混沌系統(tǒng)的狀態(tài)變量在全局滑??刂破鞯淖饔孟?,快速收斂到零。數(shù)值仿真結(jié)果表明,設(shè)計的全局滑??刂破髂軌蜻M行Arneodo混沌系統(tǒng)的鎮(zhèn)定控制。
4? 結(jié)語
采用Python語言進行系統(tǒng)的仿真,采用全局滑模控制器進行Arneodo混沌的鎮(zhèn)定控制,狀態(tài)變量漸進收斂到零。通過Arneodo混沌的狀態(tài)方程進行仿真。采用全局滑模面和雙冪次趨近律設(shè)計全局滑??刂破?。采用Tkinter建立人機交互界面,并采用Matplotlib進行數(shù)據(jù)可視化,繪制狀態(tài)變量的二維相圖,狀態(tài)變量的響應曲線。采用Tkinter建立人機交互界面,非常方便。在人機交互界面中,可以對參數(shù)進行修改,非常形象和直觀,方便進行系統(tǒng)的仿真。
參考文獻
[1] 孫克輝.混沌保密通信原理與技術(shù)[M].北京:清華大學出版社,2015.
[2] 趙海濱,于清文,陸志國,等.基于滑??刂破鞯腁rneodo混沌控制試驗[J].機械設(shè)計,2019,36(S2):10-13.
[3] 李軍紅.基于Python的輔助教學系統(tǒng)[J].電子技術(shù)與軟件工程,2019(17):51-52.
[4] 于清文,趙海濱,顏世玉.Python語言在Liu混沌系統(tǒng)仿真實驗中的應用[J].科技創(chuàng)新導報,2020,17(12):139-140.
[5] 王雅瑩,蔡學森.基于Python語言的智能家居系統(tǒng)的設(shè)計[J].科技資訊,2020,18(7):25+27.
[6] 張健,張良均. Python編程基礎(chǔ)[M].北京:人民郵電出版社,2018.
[7] 劉金琨.滑模變結(jié)構(gòu)控制MATLAB仿真基本理論與設(shè)計方法[M].3版.北京:清華大學出版社,2015.