
MATLAB在混沌系统中的分数阶三维四维吸引子相图绘制及复杂度分析
最近在折腾分数阶混沌系统的可视化,发现用MATLAB画这些妖娆的相图比解微分方程本身还有意
思。先来个最直观的分数阶Chen系统三维相图绘制,感受下混沌的几何之美:
```matlab
function chen_attractor()
h = 0.01; T = 1000;
alpha = [0.9, 0.9, 0.9];
params = [35, 3, 28, -7];
f = @(t,x) [params(1)*(x(2)-x(1)) + x(4);
params(3)*x(1) - x(1)*x(3) + params(4)*x(2);
x(1)*x(2) - params(2)*x(3);
-x(1) - x(2)]; % 四维系统拓展项
sol = fde12(alpha, f, [0 T], [1;0.5;0;0], h);
plot3(sol.y(1,:), sol.y(2,:), sol.y(3,:), 'LineWidth',0.5);
axis tight; view(20,30);
set(gcf,'Color',[0.2 0.2 0.2]); % 暗色背景更带感
end
```
这里的`fde12`是分数阶微分方程求解器,重点注意四维系统中我们选取前三维投影。当alpha参数
在0.9附近时,系统会呈现典型的拉伸折叠结构,图像看起来像被猫抓过的毛线团。
想要量化混沌强度,李雅普诺夫指数谱得安排上。下面这段代码计算随阶次q变化的指数谱:
```matlab
q_range = 0.7:0.02:1;
lyap = zeros(length(q_range),4);
for k = 1:length(q_range)
[~, temp] = lyapunovExponent(@(x)chen_system(x,35,3,28), q_range(k));
lyap(k,:) = temp(1:4);
end
plot(q_range, lyap(:,1), 'o-', 'Color','#FF6B6B'); % 最大指数用亮红色