常见的混沌序列及其散点图、直方图(Matlab代码)

Matlab代码绘制见的混沌序列及其散点图、直方图,直接运行即可画出!!!

function Chaotic_Mapping
%% PWLCM Chaotic Mapping
x(1)=rand;
A=x(1);
P=0.4;
for i=1:4999
    if x(i)>=0 && x(i)<P
        x(i+1)=x(i)/P;
    end
    if x(i)>=P && x(i)<0.5
        x(i+1)=(x(i)-P)/(0.5-P);
    end
    if x(i)>=0.5 && x(i)<1-P
        x(i+1)=(1-P-x(i))/(0.5-P);
    end
    if x(i)>=1-P && x(i)<1
        x(i+1)=(1-x(i))/P;
    end   
end
figure
plot(x,'.')
xlabel('dim')
ylabel('chaos value')
title('PWLCM Chaotic Mapping')
figure
hist(x)
xlabel('chaos value')
ylabel('frequency')
title('PWLCM Chaotic Mapping')
%% Logistic Chaotic Mapping
clearvars -except A
x0 = A;    
len = 5000;
squence = zeros(1,len);
xn = x0;
for i=1:len
    xn = 4*xn*(1-xn);
	squence(i) = xn;
end
figure
plot(squence,'.')
xlabel('dim')
ylabel('chaos value')
title('Logistic Chaotic Mapping')
figure
hist(squence)
xlabel('chaos value')
ylabel('frequency')
title('Logistic Chaotic Mapping')
%% Circle Chaotic Mapping
clearvars -except A
z0=A;
len=5000;
a=0.5;
b=2.2;
zn=z0;
squence = zeros(1,len);
for i=1:len
    zn=zn+a-mod((b/(2*pi))*sin(2*pi*zn),1);
    squence(i)=zn;
end
figure
plot(squence,'.')
xlabel('dim')
ylabel('chaos value')
title('Circle Chaotic Mapping')
figure
hist(squence)
xlabel('chaos value')
ylabel('frequency')
title('Circle Chaotic Mapping')
%% Singer Chaotic Mapping
clearvars -except A
z0=A;
len = 5000;
squence = zeros(1,len);
zn = z0;
u=1.07;
for i=1:len
    zn=u*(7.86*zn-23.31*zn^2+28.75*zn^3-13.302875*zn^4);
    squence(i)=zn;
end
figure
plot(squence,'.')
xlabel('dim')
ylabel('chaos value')
title('Singer Chaotic Mapping')
figure
hist(squence)
xlabel('chaos value')
ylabel('frequency')
title('Singer Chaotic Mapping')
%% Sine Chaotic Mapping
clearvars -except A
x0=A;
len = 5000;
xn=x0;
squence = zeros(1,len);
u=3.999;
for i=1:len
    xn=(u/4)*sin(pi*xn);
    squence(i)=xn;
end
figure
plot(squence,'.')
xlabel('dim')
ylabel('chaos value')
title('Sine Chaotic Mapping')
figure
hist(squence)
xlabel('chaos value')
ylabel('frequency')
title('Sine Chaotic Mapping')
%% Tent Chaotic Mapping
clearvars -except A
z0=A;
len = 5000;
zn=z0;
p=0.499;
squence = zeros(1,len);
for i=1:len
    if zn<p
        zn=zn/p;
    else
        zn=(1-zn)/(1-p);
    end
    squence(i)=zn;
end
figure
plot(squence,'.')
xlabel('dim')
ylabel('chaos value')
title('Tent Chaotic Mapping')
figure
hist(squence)
xlabel('chaos value')
ylabel('frequency')
title('Tent Chaotic Mapping')
%% Bernoulli Chaotic Mapping
clearvars -except A
z0=A;
len = 5000;
p=0.479;
zn=z0;
squence = zeros(1,len);
for i=1:len
    if(zn>0&&zn<=1-p)
        zn=zn/(1-p);
    else
        zn=(zn-1+p)/p;
    end
    squence(i)=zn;
end
figure
plot(squence,'.')
xlabel('dim')
ylabel('chaos value')
title('Bernoulli Chaotic Mapping')
figure
hist(squence)
xlabel('chaos value')
ylabel('frequency')
title('Bernoulli Chaotic Mapping')
%% Cubic Chaotic Mapping
clearvars -except A
x0=A;
len=5000;
p=2.595;
xn=x0;
squence = zeros(1,len);
for i=1:len
    xn=p*xn*(1-xn^2);
    squence(i)=xn;
end
figure
plot(squence,'.')
xlabel('dim')
ylabel('chaos value')
title('Cubic Chaotic Mapping')
figure
hist(squence)
xlabel('chaos value')
ylabel('frequency')
title('Cubic Chaotic Mapping')
%% SPM Chaotic Mapping
clearvars -except A
x(1)=A;
eta=0.4;
u=0.3;
for i=1:4999
    if x(i)>=0 && x(i)<eta
        x(i+1)=mod(x(i)/eta+u*sin(pi*x(i))+rand,1);
    end
    if x(i)>=eta && x(i)<0.5
        x(i+1)=mod((x(i)/eta)/(0.5-eta)+u*sin(pi*x(i))+rand,1);
    end
    if x(i)>=0.5 && x(i)<1-eta
        x(i+1)=mod(((1-x(i))/eta)/(0.5-eta)+u*sin(pi*(1-x(i)))+rand,1);
    end
    if x(i)>=1-eta && x(i)<1
         x(i+1)=mod((1-x(i))/eta+u*sin(pi*(1-x(i)))+rand,1);
    end   
end
figure
plot(x,'.')
xlabel('dim')
ylabel('chaos value')
title('SPM Chaotic Mapping')
figure
hist(x)
xlabel('chaos value')
ylabel('frequency')
title('SPM Chaotic Mapping')
end

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

### Tent-Logistic-Cosine混沌映射概述 Tent-Logistic-Cosine混沌映射是一种由多个低维混沌系统组合而成的复合混沌系统。这类混沌系统的目的是通过结合不同类型的低维混沌来克服单一低维混沌存在的局限性,如有限的混沌行为、不连续的混沌区间以及非均匀的数据分布等问题[^3]。 ### 数学表达式 对于Tent-Logistic-Cosine混沌映射而言,其具体的数学模型可以通过以下公式表示: \[ x_{n+1} = \begin{cases} \mu_1 x_n & (0 \leq x_n < d) \\ \mu_2(1 - |2x_n - 1|) & (d \leq x_n < e) \\ \cos(\pi f x_n) & (e \leq x_n \leq 1) \end{cases} \] 这里 \( \mu_1, \mu_2, d, e, f \) 是控制参数,\( x_n \) 表示第 n 步的状态变量值。此公式综合了帐篷映射(Tent Map),逻辑斯蒂映射(Logistic Map) 和余弦函数(Cosine Function)。 ### MATLAB实现代码 下面是基于上述公式的MATLAB实现代码片段: ```matlab function tent_logistic_cosine_map(mu1, mu2, d, e, f, N) % 初始化参数和状态向量 x = zeros(N, 1); x(1) = rand(); % 随机初始值 for i = 1:N-1 if x(i) < d x(i+1) = mu1 * x(i); elseif x(i) >= d && x(i) < e x(i+1) = mu2 * (1 - abs(2*x(i)-1)); else x(i+1) = cos(pi*f*x(i)); end end figure; subplot(2,1,1), plot(x, '.'); title('Tent-Logistic-Cosine Chaotic Sequence'); xlabel('迭代次数'), ylabel('X(n)'); subplot(2,1,2), hist(x, 50); title('直方图'); xlabel('X(n)'), ylabel('频率'); end ``` 这段程序定义了一个名为 `tent_logistic_cosine_map` 的函数,接受五个输入参数作为控制系统的行为,并生成相应的混沌序列及其统计特性图表。 ### 应用场景 由于这种混合型混沌映射能够产生更加丰富的动态特性和更好的伪随机性质,在密码学领域有着广泛的应用前景;此外还可以应用于图像加密、信号处理等领域中用于增强安全性或改善性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值