趙海濱 顏世玉
摘? 要 根據(jù)變形Liu混沌系統(tǒng)的狀態(tài)方程,采用第一個狀態(tài)變量設(shè)計控制器,并采用控制器進(jìn)行混沌系統(tǒng)的鎮(zhèn)定控制。采用Python語言編寫腳本程序,進(jìn)行變形Liu混沌系統(tǒng)的鎮(zhèn)定控制。數(shù)值仿真結(jié)果表明,設(shè)計的控制器能夠進(jìn)行變形Liu混沌系統(tǒng)的鎮(zhèn)定控制,狀態(tài)變量快速收斂到零。
關(guān)鍵詞 變形Liu混沌系統(tǒng);數(shù)值仿真;仿真實驗;Python
中圖分類號:G642.0? ? 文獻(xiàn)標(biāo)識碼:B
文章編號:1671-489X(2020)16-0039-03
Simulation Experiment Design of Modified Liu Chaotic System Control//ZHAO Haibin, YAN Shiyu
Abstract According to the equation of the modified Liu chaotic sys-tem, the first state variable is used to design the controller, and the?controller is used to stabilize the chaotic system. The program writtenin Python language is used to stabilize the modified Liu chaotic sys-tem. The numerical simulation results show that the designed con-troller can stabilize the modified Liu chaotic system and the state variables converge to zero rapidly.
Key words modified Liu chaotic system; numerical simulation; simulation experiment; Python
1 前言
混沌是非線性系統(tǒng)的典型行為,能夠采用電子線路進(jìn)行模擬實現(xiàn)?;煦缈刂婆c同步始終是非線性科學(xué)領(lǐng)域的一個熱點問題。劉崇新等在2004年提出一類含有平方非線性項的三階連續(xù)自治混沌系統(tǒng),即Liu混沌系統(tǒng)[1],對其動力學(xué)行為進(jìn)行分析,并采用硬件電路進(jìn)行實現(xiàn)[2]。王紹明等采用第一個狀態(tài)變量設(shè)計控制器,進(jìn)行Liu混沌系統(tǒng)的控制和同步[3]。高秉建通過Liu混沌系統(tǒng)構(gòu)造多翅膀混沌吸引子[4],并進(jìn)行數(shù)值仿真。
Liu混沌作為一個典型的混沌系統(tǒng),具有廣泛的應(yīng)用。陸安山等在Liu混沌系統(tǒng)的第二式上增加了線性反饋項,構(gòu)造了一種新的三維變形Liu混沌系統(tǒng)[5]。變形Liu混沌系統(tǒng)具有復(fù)雜的動力學(xué)行為,能夠采用硬件電路實現(xiàn),可以用于保密通信[6]。
本文根據(jù)變形Liu混沌系統(tǒng)的狀態(tài)方程,采用第一個狀態(tài)變量設(shè)計控制器,進(jìn)行系統(tǒng)的鎮(zhèn)定控制;采用Python
語言編寫腳本程序進(jìn)行數(shù)值仿真;在腳本程序中,采用SciPy庫中的odeint函數(shù)求解常微分方程,采用matplotlib
庫進(jìn)行數(shù)據(jù)可視化。數(shù)值仿真結(jié)果表明,設(shè)計的控制器能夠?qū)崿F(xiàn)變形Liu混沌系統(tǒng)的鎮(zhèn)定控制,狀態(tài)變量漸進(jìn)收斂到零,且收斂的速度比較快。
2 變形Liu混沌系統(tǒng)
2004年,劉崇新等發(fā)現(xiàn)一個新的混沌系統(tǒng),即Liu混沌系統(tǒng)[1]。Liu混沌系統(tǒng)的狀態(tài)方程表示為:
其中,x,y和z為狀態(tài)變量,a,b,c,k和h為常數(shù)。當(dāng)參數(shù)取a=10,b=40,c=2.5,k=1和h=4時,該系統(tǒng)為混沌狀態(tài)。
陸安山等[5]提出一種新的變形Liu混沌系統(tǒng),并通過硬件電路進(jìn)行實現(xiàn)。變形Liu混沌系統(tǒng)的狀態(tài)方程表示為:
其中,x,y和z為狀態(tài)變量,d為常數(shù),且d=4。根據(jù)變形Liu混沌系統(tǒng)的狀態(tài)方程,采用Python語言進(jìn)行變形Liu混沌系統(tǒng)的建模仿真。變形Liu混沌系統(tǒng)的初始狀態(tài)設(shè)定為x(0)=5,y(0)=6,z(0)=20,仿真時間設(shè)定為50秒。
變形Liu混沌系統(tǒng)仿真后,三維空間吸引子如圖1所示,在xy平面的相軌跡如圖2所示,在xz平面的相軌跡如圖3所示。
3 變形Liu混沌的鎮(zhèn)定控制
本文采用狀態(tài)變量x對變形Liu混沌系統(tǒng)進(jìn)行鎮(zhèn)定控制,受控的變形Liu混沌系統(tǒng)表示為:
其中,u1,u2和u3為設(shè)計的控制器。通過控制器對變形Liu混沌系統(tǒng)進(jìn)行鎮(zhèn)定控制,狀態(tài)變量漸進(jìn)收斂到零。
根據(jù)變形Liu混沌系統(tǒng)的狀態(tài)方程,采用線性系統(tǒng)的穩(wěn)定性理論設(shè)計控制器。對于變形Liu混沌系統(tǒng),控制器設(shè)定為:
其中,β為常數(shù),且β>b+d。在控制器中只有變形Liu混沌系統(tǒng)的第一個狀態(tài)變量。將公式(4)的控制器帶入到公式(3)中,可以得到:
將公式(5)分成兩個子系統(tǒng),其中一個子系統(tǒng)為。由于c>0且狀態(tài)變量有界,狀態(tài)變量z漸進(jìn)收斂到零。當(dāng)狀態(tài)變量z漸進(jìn)收斂到零時,另一個子系統(tǒng)表示為:
當(dāng)β>b+d時,在公式(6)中矩陣A特征根的實部均小于零。根據(jù)線性系統(tǒng)的穩(wěn)定性理論,狀態(tài)變量x和y漸進(jìn)收斂到零。因此,公式(4)的控制器能夠進(jìn)行變形Liu混沌系統(tǒng)的鎮(zhèn)定控制,狀態(tài)變量漸進(jìn)收斂到零。
4 數(shù)值仿真
Python作為高級編程語言,具有語法簡潔、編程高效和應(yīng)用領(lǐng)域廣泛等優(yōu)點。采用Python編程,由于具有大量的開源庫可以調(diào)用,代碼量比較少,而且比較容易理解。本文采用SciPy庫中的odeint函數(shù)求解常微分方程,進(jìn)行變形Liu混沌系統(tǒng)的鎮(zhèn)定控制。Odeint函數(shù)需要至少三個變量,分別是微分方程函數(shù)、狀態(tài)變量初始值和仿真時間。本文采用matplotlib庫進(jìn)行數(shù)據(jù)的可視化。本文采用Python版本為3.7.3,SciPy庫的版本為1.2.1,matplotlib庫的版本為3.0.3。
根據(jù)變形Liu混沌系統(tǒng)的狀態(tài)方程,設(shè)計控制器進(jìn)行系統(tǒng)的鎮(zhèn)定控制。采用Python語言進(jìn)行變形Liu混沌系統(tǒng)的鎮(zhèn)定控制,其腳本程序為:
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
(a,b,c,d,k,h)=(10,40,2.5,4,1,4)? #參數(shù)
beta=b+d+2
def Liu(xyz,t):
x,y,z=xyz
u2=-beta*x;u3=-h*x*x? #控制器
f1=a*(y-x)
f2=b*x-k*x*z+d*y+u2
f3=-c*z+h*x*x+u3
return np.array([f1,f2,f3])
t=np.arange(0,4,0.001)
xyz=odeint(Liu,(0.1,-3,10),t)
x,y,z=(xyz[:,0],xyz[:,1],xyz[:,2])
u2=-beta*x;u3=-h*x*x
plt.figure(1);plt.grid(True)
plt.plot(t,x,b,t,y,r--,t,z,g-.,lw=1.0)? #顯示狀態(tài)變量
plt.xlabel(‘t /s);plt.legend([‘x,y,z])
plt.figure(2);plt.grid(True)
plt.plot(t,u2,b,t,u3,r--,lw=1.0)? #顯示控制器
plt.xlabel(‘t /s);plt.legend([‘u2,u3])
plt.show()
在該腳本程序中,變形Liu混沌系統(tǒng)的參數(shù)為a=10,b=
40,c=2.5,d=4,k=1和h=4。在控制器中,參數(shù)設(shè)定為β=
46。變形Liu混沌系統(tǒng)的初始狀態(tài)設(shè)定為x(0)=0.1,y(0)=
-3,z(0)=10,仿真時間設(shè)定為4秒。
在該腳本程序中,采用SciPy庫中的odeint函數(shù)進(jìn)行微分方程的求解,利用控制器進(jìn)行變形Liu混沌系統(tǒng)的鎮(zhèn)定控制,采用matplotlib庫繪制狀態(tài)變量和控制器的響應(yīng)曲線。Matplotlib是Python的繪圖庫,可以非常方便地繪制二維和三維圖形。
腳本程序運(yùn)行后,變形Liu混沌系統(tǒng)狀態(tài)變量的響應(yīng)曲線如圖4所示。在圖4中,變形Liu混沌系統(tǒng)的狀態(tài)變量快速收斂到零??刂破鞯捻憫?yīng)曲線如圖5所示,控制器也快速收斂到零。仿真結(jié)果表明,設(shè)計的控制器能夠進(jìn)行變形Liu混沌系統(tǒng)的鎮(zhèn)定控制,狀態(tài)變量快速收斂到零。
5 結(jié)論
變形Liu混沌系統(tǒng)具有非常復(fù)雜的動力學(xué)行為,能夠用硬件電路實現(xiàn)。根據(jù)變形Liu混沌系統(tǒng)的狀態(tài)方程,采用第一個狀態(tài)變量設(shè)計控制器,并采用控制器進(jìn)行變形Liu混沌系統(tǒng)的鎮(zhèn)定控制。本文采用Python語言編寫腳本程序,進(jìn)行系統(tǒng)的數(shù)值仿真。在腳本程序中,采用SciPy庫求解微分方程,采用matplotlib庫進(jìn)行數(shù)據(jù)可視化。該仿真實驗只需要很少的代碼,就能夠?qū)崿F(xiàn)變形Liu混沌系統(tǒng)的鎮(zhèn)定控制。本文設(shè)計的控制器比較簡單,容易實現(xiàn),能夠?qū)崿F(xiàn)變形Liu混沌系統(tǒng)的快速鎮(zhèn)定控制。
參考文獻(xiàn)
[1]Liu Chongxin, Liu Tao, Liu Ling, et al. A new chao-tic attractor[J].Chaos Solitons and Fractals,2004,22(5):1031-1038.
[2]王發(fā)強(qiáng),劉崇新.Liu混沌系統(tǒng)的混沌分析及電路實驗的研究[J].物理學(xué)報,2006(10):5061-5069.
[3]王紹明,王安福.Liu混沌系統(tǒng)的單狀態(tài)變量控制與同步[J].江西師范大學(xué)學(xué)報(自然科學(xué)版),2007(3):285-288.
[4]高秉建.基于Liu混沌系統(tǒng)生成的多翅膀蝴蝶吸引子[J].復(fù)雜系統(tǒng)與復(fù)雜性科學(xué),2016(1):91-94.
[5]陸安山,陸益民.一種變形Liu混沌系統(tǒng)的分析及電路實現(xiàn)[J].江西師范大學(xué)學(xué)報(自然科學(xué)版),2014(5):468-471.
[6]陸安山,陸益民,李晏新聞.變形Liu混沌系統(tǒng)的同步控制及電路實現(xiàn)[J].湖南科技大學(xué)學(xué)報(自然科學(xué)版),2015(2):87-92.
作者:趙海濱,東北大學(xué)機(jī)械工程與自動化學(xué)院,講師,博士,主要從事控制系統(tǒng)仿真技術(shù)及其應(yīng)用的教學(xué)和科研工作;顏世玉,東北大學(xué)機(jī)械工程與自動化學(xué)院(110819)。