趙海濱,顏世玉



摘要:時滯混沌系統具有非常復雜的動力學行為,在保密通信和圖像加密等領域具有廣泛的應用前景。對于三種常見的時滯混沌系統:時滯Liu混沌系統、時滯Chen混沌系統和時滯R?ssler混沌系統,采用Matlab軟件進行數值仿真,給出了對應的腳本程序,并繪制狀態變量的二維相圖。通過數值仿真,可以使學生對時滯混沌系統有更加直觀的認識,加深對時滯混沌系統的理論理解。
關鍵詞:時滯混沌;數值仿真;Matlab;仿真實驗
中圖分類號:TP273? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)35-0096-03
1 概述
混沌是一種復雜的自然現象,對初始值非常敏感,并具有長期不可預測性和偽隨機性等特點,可以用于保密通信和數據加密[1-2]。在實際的工程系統中,時滯現象是廣泛存在的。在混沌系統的微分方程中,添加時滯項后得到的時滯混沌系統具有非常復雜的動力學行為。時滯混沌系統的維數是無窮維的,即具有無窮多個自由度,動力學行為比非時滯混沌系統更加復雜。時滯混沌系統的同步控制是非線性領域研究的熱門課題之一[3-4]。時滯混沌系統提高了混沌系統的復雜度,在保密通信和圖像加密等領域都具有廣泛的應用前景[5]。
本文對三種常見的時滯混沌系統采用Matlab語言進行數值仿真。三種時滯混沌系統分別是時滯Liu混沌系統、時滯Chen混沌系統和時滯R?ssler混沌系統。Matlab軟件功能強大,應用廣泛,非常適合進行混沌系統的數值仿真[6-7]。在Matlab軟件中采用函數dde23進行時滯混沌的數值仿真[8],給出了對應的腳本程序,采用函數plot繪制狀態變量的二維相圖。本文將Matlab軟件用于時滯混沌系統的實驗教學,通過數值仿真,使學生對時滯混沌系統有更加直觀的認識,加深對時滯混沌系統的理論理解。
2 時滯Liu混沌
時滯Liu混沌系統,可以表示為:
[x1(t)=x3(t)-ax1(t)+x1(t)x2(t-τ2)x2(t)=1-bx2(t)-x21(t-τ1)x3(t)=-x1(t-τ1)-cx3]? ? ? (1)
其中,[x1],[x2]和[x3]為時滯Liu混沌系統的狀態變量,[t]為時間,[a],[b]和[c]為常數,[τ1]和[τ2]為延遲時間常數。
對于時滯Liu混沌系統,當參數設定為[a=0.2],[b=0.5],[c=0.1],[τ1=0.4]和[τ2=0.1]時,該系統處于混沌狀態。當[τ1≤t≤0]時,初始值設定為[(x1(t),x2(t),x3(t))=(1.0,1.0,1.0)],采用函數dde23進行數值仿真。仿真時間設定為300秒,步長為0.001秒。時滯Liu混沌系統進行數值仿真時,Matlab腳本程序如下:
clear; clc; close all;
a=0.2; b=0.5; c=0.1;
tau=[0.4, 0.1]; history=[1; 1; 1]; tf=300;
Liu=@(t,x,Z) [x(3)-a*x(1)+x(1)*Z(2,2);
1-b*x(2)-Z(1,1)^2; -Z(1,1)-c*x(3)];
sol=dde23(Liu, tau, history, [0,tf]);
fs=1000; t=linspace(0,tf,tf*fs);
x=deval(sol,t);
figure; plot(x(1,:), x(2,:), 'b');
grid on; xlabel('x1(t)'); ylabel('x2(t)');
figure; plot(x(1,:), x(3,:), 'b');
grid on; xlabel('x1(t)'); ylabel('x3(t)');
在腳本程序中,建立匿名函數Liu,然后采用函數dde23進行數值仿真,通過函數plot繪制狀態變量的二維相圖。時滯Liu混沌系統中,狀態變量[x1]和[x2]的二維相圖,如圖1所示,狀態變量[x1]和[x3]的二維相圖如圖2所示。由圖1和圖2可以看到該系統處于混沌狀態。
3 時滯Chen混沌
三維Chen混沌系統,狀態方程表示為:
[x1(t)=a(x2(t)-x1(t))x2(t)=(c-a)x1(t)-x1(t)x3(t)+cx2(t)x3(t)=x1(t)x2(t)-bx3(t)]? ? ? (2)
其中,[x1],[x2]和[x3]為Chen混沌系統的狀態變量, [a],[b]和[c]為常數,[t]為時間。
在Chen混沌系統的第三個微分方程中,添加時滯控制項,得到時滯Chen混沌系統,表示為:
[x1(t)=a(x2(t)-x1(t))x2(t)=(c-a)x1(t)-x1(t)x3(t)+cx2(t)x3(t)=x1(t)x2(t)-bx3(t)+k(x3(t)-x3(t-τ))]? ?(3)
其中,[x1],[x2]和[x3]為時滯Chen混沌系統的狀態變量,[t]為時間,[a],[b],[c]和[k]為常數,[τ]為延遲時間常數。
對于時滯Chen混沌系統,當參數設定為[a=35],[b=3.0],[c=18.5],[k=3.8]和[τ=0.3]時,該系統處于混沌狀態。對于時滯Chen混沌系統,當[τ≤t≤0]時,系統的初始值設定為[(x1(t),x2(t),x3(t))=(1.5,1.5,2.0)],采用函數dde23進行數值仿真。仿真時間設定為40秒,步長為0.001秒。時滯Chen混沌系統的MATLAB腳本程序如下:
clear; clc; close all;
a=35; b=3; c=18.5; k=3.8;
tau=0.3; history=[1.5; 1.5; 2]; tf=40;
Chen=@(t,x,Z)[a*(x(2)-x(1));(c-a)*x(1)-x(1)*x(3)
+c*x(2); x(1)*x(2)-b*x(3)+k*(x(3)-Z(3,1))];
sol=dde23(Chen, tau, history, [0,tf]);
fs=1000; t=linspace(0,tf,tf*fs);
x=deval(sol,t);
figure; plot(x(1,:), x(2,:), 'b');
grid on; xlabel('x1(t)'); ylabel('x2(t)');
figure; plot(x(1,:), x(3,:), 'b');
grid on; xlabel('x1(t)'); ylabel('x3(t)');
在腳本程序中,建立匿名函數Chen,然后采用函數dde23進行數值仿真,通過函數plot繪制狀態變量的二維相圖。時滯Chen混沌系統中,狀態變量[x1]和[x2]的二維相圖如圖3所示,狀態變量[x1]和[x3]的二維相圖如圖4所示,系統處于混沌狀態。
4 時滯R?ssler混沌
三維R?ssler混沌系統的狀態方程為:
[x1(t)=-x2(t)-x3(t)x2(t)=x1(t)+bx2(t)x3(t)=b+x1(t)x3(t)-cx3(t)]? ? ? ? ? ? (4)
其中,[x1],[x2]和[x3]為狀態變量,[t]為時間,[b]和[c]為常數。當[b=0.2],[c=5.7]時,R?ssler系統處于混沌狀態。
在R?ssler混沌的第一個微分方程中添加兩個時滯項,可以得到時滯R?ssler混沌系統,表示為:
[x1(t)=-x2(t)-x3(t)+a1x1(t-τ1)+a2x1(t-τ2)x2(t)=x1(t)+bx2(t)x3(t)=b+x1(t)x3(t)-cx3(t)]? ? (5)
其中,[x1],[x2]和[x3]為時滯R?ssler混沌系統的狀態變量,[t]為時間,[a1],[a2],[b]和[c]為常數,[τ1]和[τ2]為延遲時間常數。
對于時滯R?ssler混沌系統,參數設定為[a1=0.2],[a2=0.5],[b=0.2],[c=5.7],[τ1=1.0],[τ2=2.0]時,系統處于混沌狀態。當[τ2≤t≤0]時,初始值設定為[(x1(t),x2(t),x3(t))=(3.0,0.3,5.0)]時,采用函數dde23進行數值仿真。仿真時間為300秒,步長為0.001秒。時滯R?ssler混沌數值仿真的Matlab腳本程序如下:
clear; clc; close all;
a1=0.2; a2=0.5; b=0.2; c=5.7;
tau=[1, 2]; history=[3; 0.3; 5]; tf=300;
Rossler=@(t,x,Z) [-x(2)-x(3)+a1*Z(1,1)+a2*Z(1,2);
x(1)+b*x(2); b+x(1)*x(3)-c*x(3)];
sol=dde23(Rossler, tau, history, [0,tf]);
fs=1000; t=linspace(0,tf,tf*fs);
x=deval(sol,t);
figure; plot(x(1,:), x(2,:), 'b');
grid on; xlabel('x1(t)'); ylabel('x2(t)');
figure; plot(x(2,:), x(3,:), 'b');
grid on; xlabel('x2(t)'); ylabel('x3(t)');
在腳本程序中,根據時滯R?ssler混沌的狀態方程建立匿名函數,然后采用函數dde23進行數值仿真,通過函數plot繪制狀態變量的二維相圖。時滯R?ssler混沌系統中,狀態變量[x1]和[x2]的二維相圖如圖5所示,狀態變量[x2]和[x3]的二維相圖如圖6所示。由圖5和圖6可以看到時滯R?ssler系統處于混沌狀態。
5 結論
時滯混沌系統具有復雜的動力學行為,在保密通信和圖像加密等領域有廣泛的應用前景。本文對三種常見的時滯混沌系統采用Matlab軟件進行數值仿真。通過Matlab軟件的函數dde23進行時滯微分方程的求解,并采用函數plot繪制狀態變量的二維相圖,給出了對應的腳本程序。時滯混沌系統比較抽象不容易理解。本文將Matlab軟件用于時滯混沌系統的實驗教學,通過該仿真實驗使學生對時滯混沌系統有更加直觀的認識,加深對時滯混沌系統的理論理解。
參考文獻:
[1] 楊文濤,葉歡,李子龍,等.基于一類復混沌系統的圖像加密研究[J].齊魯工業大學學報,2021,35(6):73-80.
[2] 方鵬飛,黃陸光,婁苗苗,等.基于四維超混沌系統的彩色圖像加密算法[J].計算機工程與設計,2022,43(2):361-369.
[3] 陳亞英,姚鳳麒.混沌時變時滯系統的有限時間脈沖同步[J].湖北民族大學學報(自然科學版),2020,38(4):446-452.
[4] 高俊山,張玉雙,鄧立為.時滯混沌系統的魯棒自適應容錯同步控制[J].計算機仿真,2020,37(6):247-251,261.
[5] 林周彬,羅松江,高俊杰.一種基于憶阻時滯混沌系統的圖像加密方法[J].仲愷農業工程學院學報,2021,34(2):60-63.
[6] 趙海濱,于清文,劉沖,等.基于Matlab/Simulink的混沌同步控制實驗[J].實驗室研究與探索,2019,38(1):16-19.
[7] 趙海濱,于清文,顏世玉.混沌系統的有限時間投影同步控制仿真實驗[J].中國現代教育裝備,2020(3):15-17.
[8] 吐克孜·艾肯,阿布都熱西提·阿布都外力.一類具有時滯的微分代數系統解的數值算法實現[J].山西師范大學學報(自然科學版),2013,27(3):11-16.
【通聯編輯:王力】