1.軟體版本
matlab2021a,quartusii
2.本算法理論知識
Lorenz在1963年洛倫茲在研究大氣對流現象時,發現了第一個結構簡單的三維自治混沌系統,這就是著名的“蝴蝶效應”模型,其數學模型為:
當r≤1時,對所有的x,y,z都成立,等式僅在r<1,x=y=z=0和r=1,x=y,z=0時才成立。
當r>1時,系統開始出現不穩定性,當r增加至rc時,有一個亞臨界的Hopf分岔。
當r>rc時,在吸引子附近相鄰的軌道平均來說是以指數分離的,是以兩條開始在一起非常接近的軌道很快喪失所有的相關性,呈現混沌狀。
3.核心代碼
% Dx=(25a+10)(y-x)
% Dy=(28-35a)x-xz+(29a-1)y
% Dz=xy-(a+8)z/3
% 當0<=a<0.8,廣義Lorenz系統
% 當a=0.8,廣義呂系統
% 當0.8<a<=1,廣義陳系統
clear;clc
x=1.2;y=1.3;z=1.6;
%x=1 ;y=1 ;z=1 ;
dt=0.005;
a=10.0;c=28.0;b=2.666667;
figure;
for i=1:10000
newx=x+a*(y-x)*dt;
newy=y+(c*x-y-x*z)*dt;
newz=z+(x*y-b*z)*dt;
if i>1000
% plot(x,y)
% plot(x,z)
% plot(y,z)
plot3(x,y,z)
hold on
end
x=newx;y=newy;z=newz;
end
figure;
for i=1:10000
newx=x+a*(y-x)*dt;
newy=y+(c*x-y-x*z)*dt;
newz=z+(x*y-b*z)*dt;
if i>1000
plot(x,y)
% plot(x,z)
% plot(y,z)
%plot3(x,y,z)
hold on
end
x=newx;y=newy;z=newz;
end
figure;
for i=1:10000
newx=x+a*(y-x)*dt;
newy=y+(c*x-y-x*z)*dt;
newz=z+(x*y-b*z)*dt;
if i>1000
% plot(x,y)
plot(x,z)
% plot(y,z)
%plot3(x,y,z)
hold on
end
x=newx;y=newy;z=newz;
end
figure;
for i=1:10000
newx=x+a*(y-x)*dt;
newy=y+(c*x-y-x*z)*dt;
newz=z+(x*y-b*z)*dt;
if i>1000
%plot(x,y)
% plot(x,z)
plot(y,z)
%plot3(x,y,z)
hold on
end
x=newx;y=newy;z=newz;
end
4.操作步驟與仿真結論
對系統進行功能仿真:得到如下的結果:
圖1 系統總體仿真結果
圖2 系統總體仿真局部結果
5.參考文獻
[01]洛倫茲EN.混沌的本質.劉式達等譯.氣象出版社,1997
[02]劉秉正.非線性動力學與混沌基礎.長春:東北師範大學出版社,1994