一、帐篷映射分岔图
1. 核心代码
%% 帐篷映射分岔图
clear; clc; close all;
% 参数设置
a = 0:0.001:1; % 参数范围
x0 = 0.1; % 初始值
N = 1000; % 迭代次数
N_skip = 200; % 丢弃初始瞬态
% 初始化图形
figure;
hold on;
box on;
xlabel('参数a'); ylabel('x_n');
xlim([0 1]); ylim([0 1]);
% 分岔图绘制
for k = 1:length(a)
x = x0;
% 丢弃瞬态过程
for i = 1:N_skip
x = a(k) - (1 + a(k)) * abs(x);
end
% 记录稳定状态
xn = zeros(1, N);
for i = 1:N
x = a(k) - (1 + a(k)) * abs(x);
xn(i) = x;
end
% 绘制分岔点
plot(a(k)*ones(1,N), xn, '.', 'MarkerSize', 1, 'Color', [0.5,0.5,0.5]);
end
% 图形优化
title('帐篷映射分岔图');
legend('\it a=0.99-1.0 时混沌态');
2. 运行效果
参数范围:
a ∈ [0,1],理想混沌区在a ≈ 0.99-1.0特征:随着
a增大,系统从稳定点→周期倍增→混沌
二、Henon映射分岔图
1. 核心代码
%% Henon映射分岔图
clear; clc; close all;
% 参数设置
a = 0.2:0.001:1.4; % 参数a范围
b = 0.3; % 固定参数b
x0 = 0.1; % 初始值
N = 1000; % 迭代次数
N_skip = 200; % 丢弃初始瞬态
% 初始化图形
figure;
hold on;
box on;
xlabel('\it a'); ylabel('\it x_n');
xlim([0.2 1.4]); ylim([-1.5 1.5]);
% 分岔图绘制
for k = 1:length(a)
x = x0;
y = b * x;
% 丢弃瞬态过程
for i = 1:N_skip
x_next = 1 - a(k)*x^2 + y;
y_next = b * x;
x = x_next;
y = y_next;
end
% 记录稳定状态
xn = zeros(1, N);
for i = 1:N
x_next = 1 - a(k)*x^2 + y;
y_next = b * x;
x = x_next;
y = y_next;
xn(i) = x;
end
% 绘制分岔点
plot(a(k)*ones(1,N), xn, '.', 'MarkerSize', 1, 'Color', [0.2,0.6,0.8]);
end
% 图形优化
title('Henon映射分岔图');
legend('\it b=0.3 时混沌吸引子');
2. 运行效果
混沌吸引子:当
a=1.4时呈现典型Henon吸引子分岔现象:
a < 1.07时为周期解,a > 1.07进入混沌
三、动态分岔图增强版
%% 动态分岔图(带颜色映射)
clear; clc; close all;
% 参数设置
a = 0.2:0.0005:1.4; % 参数范围
b = 0.3;
x0 = 0.1;
N = 500; % 迭代次数
N_skip = 100; % 瞬态丢弃
% 创建图形窗口
figure;
hold on;
colormap(jet);
colorbar;
xlabel('\it a'); ylabel('\it x_n');
xlim([0.2 1.4]); ylim([-1.5 1.5]);
% 动态绘制
for k = 1:length(a)
x = x0;
y = b * x;
for i = 1:N_skip
x_next = 1 - a(k)*x^2 + y;
y_next = b * x;
x = x_next;
y = y_next;
end
xn = zeros(1, N);
for i = 1:N
x_next = 1 - a(k)*x^2 + y;
y_next = b * x;
x = x_next;
y = y_next;
xn(i) = x;
end
% 颜色映射
c = (k - 1) / (length(a) - 1);
plot(a(k)*ones(1,N), xn, '.', 'Color', [c, 0.5, 1-c], 'MarkerSize', 1);
end
四、关键参数说明
| 参数 | 帐篷映射范围 | Henon映射范围 | 作用说明 |
|---|---|---|---|
a |
0-1 | 0.2-1.4 | 控制系统非线性强度 |
b |
- | 0.3 | 影响Henon映射的稳定区域 |
N_skip |
200 | 100 | 丢弃初始瞬态过程 |
N |
1000 | 500 | 稳定状态采样点数 |
五、分岔现象分析
帐篷映射
稳定区间:
a ∈ [0,0.99)时为单峰周期运动混沌区间:
a ∈ [0.99,1.0]出现完全混沌倍周期分岔:
a=0.5时为2周期,a=0.75时为4周期
Henon映射
稳定解:
a < 1.07时存在闭合轨道混沌吸引子:
a > 1.07呈现分形结构参数敏感性:
b值影响吸引子形状(典型值b=0.3)
参考代码 混沌映射特性 www.youwenfan.com/contentalh/56290.html
六、MATLAB调试技巧
加速计算
% 使用预分配内存 xn = zeros(1,N); % 预分配数组交互式参数调整
% 添加滑动条控制参数a h = uicontrol('Style','slider','Position',[20 20 200 20],... 'Min',0.2,'Max',1.4,'Value',0.2); set(gcf,'WindowKeyPressFcn',@(src,event) updatePlot(event,a));三维扩展
% 绘制Henon映射三维轨迹 figure; plot3(xn, y, zeros(size(xn)), '.'); xlabel('x'); ylabel('y'); zlabel('迭代次数');
七、应用场景
密码学:生成混沌序列用于加密(如帐篷映射的初值敏感性)
混沌通信:通过分岔图选择合适参数实现信号调制
物理实验模拟:分析非线性系统的临界行为