两个分数阶混沌系统同步的matlab程序
时间: 2024-01-27 07:01:41 浏览: 200
分数阶混沌系统是指动力系统方程中存在分数阶导数的混沌系统。其中,分数阶导数是连续时间的非整数阶导数。同步是指两个或多个系统的状态变量在某种条件下实现完全或部分的一致。下面是一个用MATLAB编写的两个分数阶混沌系统同步的程序示例。
首先,定义分数阶混沌系统的方程:
系统1: 带有分数阶导数的Lorenz系统方程
dx1/dt = a1(y1 - x1^α)
dy1/dt = x1^(1-α) - x1z1 - y1
dz1/dt = x1y1 - bz1
系统2: 带有分数阶导数的Rössler系统方程
dx2/dt = -(y2 + z2)
dy2/dt = x2 + ay2^α
dz2/dt = b2 + z2(x2 - c2)
其中α为分数阶指数,a1,a2,b,和 c为系统参数。
下面是MATLAB程序示例:
alpha = 0.8; % 分数阶指数
a1 = 10;
a2 = 0.2;
b = 8/3;
c1 = 28;
c2 = 14;
tspan = [0 100];
x0 = [1 2 3]; % 初始状态变量
% 定义分数阶混沌系统函数
f1 = @(t, x) [a1*(x(2) - x(1)^alpha); x(1)^(1-alpha) - x(1)*x(3) - x(2); x(1)*x(2) - b*x(3)];
f2 = @(t, x) [-x(2) - x(3); x(1) + a2*x(2)^alpha; b + x(3)*(x(1) - c2)];
% 求解系统1的状态变量随时间的演化
[t1, x1] = ode23(f1, tspan, x0);
% 求解系统2的状态变量随时间的演化
[t2, x2] = ode23(f2, tspan, x0);
% 打印系统1和系统2的状态变量
disp("系统1状态变量x1的值:")
disp(x1)
disp("系统2状态变量x2的值:")
disp(x2)
% 绘制系统1和系统2的状态变量随时间的变化曲线
figure
plot(t1, x1(:,1), 'r', t2, x2(:,1), 'b')
xlabel('时间')
ylabel('状态变量x')
legend('系统1', '系统2')
阅读全文