以下是使用 MATLAB 编写的代码,实现 Logistic 混沌序列的算法,并以图形形式展示和统计序列值的出现次数:

% 设置参数
r = 4; % 控制参数
x0 = 0.1; % 初始值
n = 1000; % 序列长度

% 生成 Logistic 混沌序列
x = zeros(n, 1);
x(1) = x0;
for i = 2:n
    x(i) = r * x(i-1) * (1 - x(i-1));
end

% 绘制序列图形
figure(1)
plot(x)
title('Logistic 混沌序列')
xlabel('时间步')
ylabel('序列值')

% 统计序列值的出现次数
counts = histcounts(x, linspace(0, 1, 21)); % 将[0,1]区间分成20个小区间
values = linspace(0, 1, 20) + 0.025; % 每个小区间的中间值

% 绘制条形图
figure(2)
bar(values, counts)
title('序列值出现次数')
xlabel('序列值')
ylabel('出现次数')

在上面的代码中,我们首先设置了 Logistic 混沌序列的参数,包括控制参数 r、初始值 x0 和序列长度 n。然后使用一个 for 循环生成序列的每个元素,根据 Logistic 混沌映射的公式进行计算。接下来,使用 plot 函数绘制序列的图形,并使用 titlexlabelylabel 函数添加标题和轴标签。

然后,使用 histcounts 函数统计序列值的出现次数,将[0,1]区间分成 20 个小区间,并将结果存储在 counts 变量中。为了绘制条形图,我们还需要一个包含每个小区间中间值的 values 变量。最后,使用 bar 函数绘制条形图,并使用 titlexlabelylabel 函数添加标题和轴标签。

运行上述代码,将会得到两个图形窗口,一个是 Logistic 混沌序列的图形,另一个是序列值出现次数的条形图。

MATLAB 实现 Logistic 混沌序列算法并绘制图形

原文地址: http://www.cveoy.top/t/topic/bfxo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录