一 概述
简单来说,混沌科学中,同一个动力学方程或者是方程组,给出的初始值相差甚微,长时间后,系统的运动轨迹却有很大差别;混沌系统广泛应用在加密等领域。
二 Matlab仿真混沌系统
以chen混沌系统为例:
式中x,y,z
是系统的状态变量,a,b,c为该系统的常数,当参数a=35,b=3,c=28时,系统处于混沌状态。用
MATLAB
仿真得到
得到
Chen
混沌吸引子在
x-y
相面、
x-z
相面、
y-z
相面以及
x-y-z
相空间中的相轨图,如图所示
定义equation.m文件定义chen混沌方程函数
function dy=total(t,y) %%chen circuit a=35;b=3;c=28; dy=[a*(y(2)-y(1)); (c-a)*y(1)-y(1)*y(3)+c*y(2); y(1)*y(2)-b*y(3)]; end
调用实现(matlab中一般使用ODE45函数求解微分方程):
x0=[-1;-0.2;0.5]; tspan=[0:0.001:80]; [T,X]=ode45('equation',tspan,x0); figure(1); subplot(3,1,1),plot(T,X(:,1),'r'); xlabel('t'); ylabel('x'); subplot(3,1,2),plot(T,X(:,2),'r'); xlabel('t'); ylabel('y'); subplot(3,1,3),plot(T,X(:,3),'r'); xlabel('t'); ylabel('z'); figure(2); plot(X(30000:end,1),X(30000:end,2));%grid; xlabel(' x'); ylabel(' y'); figure(3); plot(X(30000:end,1),X(30000:end,3));%grid; xlabel(' x'); ylabel(' z'); figure(4); plot(X(30000:end,2),X(30000:end,3));%grid; xlabel(' y'); ylabel(' z'); figure(5); plot3(X(30000:end,1),X(30000:end,2),X(30000:end,3));%grid; xlabel(' y'); ylabel(' z');
%%%%%%%%%%%%%%%%%%%%%%