# Octave代码解决Liu混沌系统问题 ## (1) Liu系统时间演化图及三维吸引子图 ```octave % Liu混沌系统仿真 % 参数设置 a = 10; b = 40; k = 1; c = 2.5; h = 4; % 定义Liu系统的微分方程 function dx = liu_system(t, x) dx = zeros(3,1); dx(1) = a*(x(2)-x(1)); dx(2) = (c-a)*x(1) - x(1)*x(3) + c*x(2); dx(3) = x(1)*x(2) - b*x(3); end % 初始条件和时间范围 x0 = [1; 1; 1]; % 初始条件 tspan = 0:0.01:100; % 时间范围 % 解微分方程 [t, x] = ode45(@liu_system, tspan, x0); % 绘制时间演化图 figure; subplot(3,1,1); plot(t, x(:,1), 'b'); title('x随时间演化'); xlabel('时间'); ylabel('x'); subplot(3,1,2); plot(t, x(:,2), 'r'); title('y随时间演化'); xlabel('时间'); ylabel('y'); subplot(3,1,3); plot(t, x(:,3), 'g'); title('z随时间演化'); xlabel('时间'); ylabel('z'); % 绘制三维吸引子图 figure; plot3(x(:,1), x(:,2), x(:,3)); title('Liu系统三维吸引子'); xlabel('x'); ylabel('y'); zlabel('z'); grid on; ``` ## (2) 对初值敏感性的分析 ```octave % 对初值敏感性的分析 % 使用两个非常接近的初值进行仿真 % 初始条件1 x0_1 = [1; 1; 1]; % 初始条件2(与第一个非常接近) x0_2 = [1.001; 1; 1]; % 解微分方程 [t1, x1] = ode45(@liu_system, tspan, x0_1); [t2, x2] = ode45(@liu_system, tspan, x0_2); % 计算x分量的差异 diff_x = abs(x1(:,1) - x2(:,1)); % 绘制差异随时间变化 figure; semilogy(t1, diff_x, 'b'); title('Liu系统对初值的敏感性'); xlabel('时间'); ylabel('x分量差异(对数尺度)'); grid on; % 说明:图中显示两个非常接近的初值随着时间的推移,系统状态的差异呈指数增长, % 这是混沌系统对初值敏感依赖性的典型表现。 ``` ## 运行说明 1. 将代码保存为.m文件(如`liu_system.m`)或在Octave命令窗口中逐段执行 2. 第一段代码会生成: - 三个子图显示x、y、z随时间的变化 - 一个三维图显示系统的吸引子 3. 第二段代码会生成: - 一个半对数坐标图,显示两个相近初值导致的系统状态差异随时间指数增长 4. 混沌系统的特征包括: - 对初值极端敏感 - 长期行为不可预测 - 有奇怪吸引子 - 确定性非周期行为 这些图像清晰地展示了Liu系统的混沌特性。 [2025-04-10 19:00:05 | AI问答 | 783点数解答]