Logistic-tent混沌映射

147 篇文章 84 订阅
27 篇文章 139 订阅

Logistic-tent混沌映射原理

在这里插入图片描述

代码实现

clc;clear all;close all
axis([0,1,0,1]);
x0=0.1;t=800;M=850;
r=0:0.005:1;
[m,n]=size(r);
hold on
for i=1:n
    if x0<0.5
        x(1)=mod(r(i)*x0*(1-x0)+(4-r(i))*x0/2,1);
     else 
        x(1)=mod(r(i)*x0*(1-x0)+(4-r(i))*(1-x0)/2,1);
    end
    for j =2:M
      if x(j-1)<0.5
        x(j)=mod(r(i)*x(j-1)*(1-x(j-1))+(4-r(i))*x(j-1)/2,1);
       else 
        x(j)=mod(r(i)*x(j-1)*(1-x(j-1))+(4-r(i))*(1-x(j-1))/2,1);
      end
    end
plot(r(i),x,'b.','Markersize',2);
xlabel('r');ylabel('x(i)');
end

Logistic-tent混沌映射结果

请添加图片描述
可以看出非常均匀,映射效果极佳。

(1)当r=0.3,x(1)=rand时:

x(1)=rand;
r=0.3;
for j=2:5000
          if x(j-1)<0.5
        x(j)=mod(r*x(j-1)*(1-x(j-1))+(4-r)*x(j-1)/2,1);
       else 
        x(j)=mod(r*x(j-1)*(1-x(j-1))+(4-r)*(1-x(j-1))/2,1);
      end
end
figure
plot(x,'.')
xlabel('维度')
ylabel('混沌值')
figure
hist(x)
xlabel('混沌值')
ylabel('频数')

在这里插入图片描述
在这里插入图片描述
(2)当r=0.1,x(1)=rand时:

x(1)=rand;
r=0.1;
for j=2:5000
          if x(j-1)<0.5
        x(j)=mod(r*x(j-1)*(1-x(j-1))+(4-r)*x(j-1)/2,1);
       else 
        x(j)=mod(r*x(j-1)*(1-x(j-1))+(4-r)*(1-x(j-1))/2,1);
      end
end
figure
plot(x,'.')
xlabel('维度')
ylabel('混沌值')
figure
hist(x)
xlabel('混沌值')
ylabel('频数')

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

由此可以看出Logistic-tent混沌映射值分布在[0,1]之间十分均匀,映射效果极佳。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值