新四翼混沌系统:
dx/dt = a(y - x) + yz
dy/dt = cx - y - xz
dz/dt = -bz + xy
MATLAB代码:
function plot_novel_chaotic_system()
% 参数设置
a = 10;
b = 8/3;
c = 28;% 初始条件
x0 = [1, 1, 1];% 时间范围
tspan = [0 100];% 求解微分方程
[t, x] = ode45(@(t, x) chaotic_system(t, x, a, b, c), tspan, x0);% 绘制三维相图
figure('Position', [100, 100, 800, 600]);
plot3(x(:,1), x(:,2), x(:,3), 'b', 'LineWidth', 1.2);
grid on;
xlabel('x');
ylabel('y');
zlabel('z');
title('新颖四翼混沌吸引子');% 设置视角
view(45, 20);% 添加颜色映射以显示时间演化
figure('Position', [100, 100, 800, 600]);
scatter3(x(:,1), x(:,2), x(:,3), 2, t, 'filled');
colorbar;
xlabel('x');
ylabel('y');
zlabel('z');
title('时间演化的混沌吸引子');
colormap(jet);% 绘制时间序列
figure('Position', [100, 100, 1000, 400]);
subplot(3,1,1);
plot(t, x(:,1), 'r');
ylabel('x');
title('混沌系统时间序列');subplot(3,1,2);
plot(t, x(:,2), 'g');
ylabel('y');subplot(3,1,3);
plot(t, x(:,3), 'b');
ylabel('z');
xlabel('时间 t');
endfunction dx = chaotic_system(~, x, a, b, c)
% 混沌系统方程
dx = zeros(3,1);
dx(1) = a*(x(2) - x(1)) + x(2)*x(3);
dx(2) = c*x(1) - x(2) - x(1)*x(3);
dx(3) = -b*x(3) + x(1)*x(2);
end