精华内容
下载资源
问答
  • Logistic混沌映射

    万次阅读 多人点赞 2007-10-22 16:31:00
    Logistic混沌映射1 引言如果一个系统的演变过程初始的状态十分敏感,就把这个系统称为是混沌系统。在1972年12月29日,美国麻省理工教授、混沌学开创人之一E.N.洛仑兹在美国科学发展学会第139次会议上发表了题为...

    Logistic混沌映射

    1 引言

    如果一个系统的演变过程对初始的状态十分敏感,就把这个系统称为是混沌系统。

    1972 12 29 ,美国麻省理工教授、混沌学开创人之一E.N.洛仑兹在美国科学发展学会第139次会议上发表了题为《蝴蝶效应》的论文,提出一个貌似荒谬的论断:在巴西一只蝴蝶翅膀的拍打能在美国得克萨斯州产生一个龙卷风,并由此提出了天气的不可准确预报性。至此以后,人们对于混沌学研究的兴趣十分浓厚,今天,伴随着计算机等技术的飞速进步,混沌学已发展成为一门影响深远、发展迅速的前沿科学。

    混沌来自于非线性动力系统,而动力系统又描述的是任意随时间变化的过程,这个过程是确定性的、类似随机的、非周期的、具有收敛性的,并且对于初始值有极敏感的依赖性。而这些特性正符合序列密码的要求。1989Robert MatthewsLogistic映射的变形基础上给出了用于加密的伪随机数序列生成函数,其后混沌密码学及混沌密码分析等便相继发展起来。混沌流密码系统的设计主要采用以下几种混沌映射:一维Logistic映射、二维He’non映射、三维Lorenz映射、逐段线性混沌映射、逐段非线性混沌映射等,在本文中,我们主要探讨一维Logistic映射的一些特性。

    2 Logistic映射分析

    一维Logistic映射从数学形式上来看是一个非常简单的混沌映射,早在20世纪50年代,有好几位生态学家就利用过这个简单的差分方程,来描述种群的变化。此系统具有极其复杂的动力学行为,在保密通信领域的应用十分广泛,其数学表达公式如下:

    Xn+1=Xn×μ×(1-Xn)         μ[0,4]     X[0,1]

           

    其中 μ∈[0,4]被称为Logistic参数。研究表明,当X[0,1] 时,Logistic映射工作处于混沌状态,也就是说,有初始条件X0Logistic映射作用下产生的序列是非周期的、不收敛的,而在此范围之外,生成的序列必将收敛于某一个特定的值。如下图所示:

     

     

    可以看出,在μ的取值符合3.5699456<μ<=4的条件,特别是比较靠近4时,迭代生成的值是出于一种伪随机分布的状态,而在其他取值时,在经过一定次数的迭代之后,生成的值将收敛到一个特定的数值,这对于我们来说是不可接受的。

    下图中描述了X0值一定时,对于不同的μ的取值,迭代可能得到的值:

     

     

    图中的点即表明了所有可能的X取值范围。从图中我们可以看出,在μ越接近4的地方,X取值范围越是接近平均分布在整个01的区域,因此我们需要选取的Logistic控制参数应该越接近4越好。

    μ的值确定之后,我们再来看看初始值X0对整个系统的影响。刚才也说过了,混沌系统在初始值发生很小变化时,得到的结构就会大相径庭,在Logistic混沌映射中也是如此。

    上图显示的是X0= 0.663489000X0= 0.663489001μ=3.99时两个Logistic序列之差的图像,很明显,在最开始20多次迭代,两者的差很小,近似等于0,但随着迭代次数的增加,两个序列的值显示出一种无规律的情形,两者相差也比较大了。因此可以看出该系统具有很好的雪崩效应。

    我们在使用Logistic混沌系统时,可以先让系统先迭代一定次数之后,再使用生成的值,这样可以更好地掩盖原始的情况,使雪崩效应扩大,这样可以具有更好的安全性。

    最后我们再来看看Logistic的随机分布特性,一个好的伪随机序列应该有比较平均的分布,也就是说,每个数出现的概率应该是相等的。我们对X0=0.2μ=3.9999Logistic混沌映射进行30000次迭代后对其值进行统计,分布情况如下表所示:

    分布区间

    个数

    所占百分比

    0 - 0.1

    5919

    19.73%

    0.1 - 0.2

    2685

    8.95%

    0.2 - 0.3

    2218

    7.39%

    0.3 - 0.4

    2140

    7.13%

    0.4 - 0.5

    1890

    6.30%

    0.5 - 0.6

    1973

    6.58%

    0.6 - 0.7

    1937

    6.46%

    0.7 - 0.8

    2310

    7.70%

    0.8 - 0.9

    2733

    9.11%

    0.9 - 1

    6195

    20.65%

    从上表中我们可以看出,Logistic映射的迭代序列的分布并不是均匀的,对于其他的X0取值也有类似的结构。而且从表中我们还可以看出,其分布是一种两头大中间小的情形。虽然分布情况并不是很平均,但是对于一般情形来说,Logistic映射序列是可以满足我们的需求的。而且我们可以对其想办法加以改进,使之可以获得更好的平均性。

    3 总结

    本文对Logistic混沌映射进行了一些粗浅的分析,分析了控制参数对其的影响、Logistic的雪崩效应、序列值的分布情况。在初值和控制参数都会改变的情况下,该系统还是具备很好的安全性的。目前已经有很多人提出基于Logistic的改进算法,很好地改进了平均性。Logistic算法在图像加密领域已经有不少论文出现,目前对其的研究也很成熟了,我们可以对其加以改进使之符合矢量数据加密的要求。

     
    展开全文
  • 混沌映射 logistic映射

    2013-06-19 15:19:10
    一维Logistic映射从数学形式上来看是一个非常简单的混沌映射,早在20世纪50年代,有好几位生态学家就利用过这个简单的差分方程,来描述种群的变化。
  • 基于Logistic混沌映射的图像加密系统及FPGA实现
  • 针对现有医学图像加密算法在加密效率和安全性上的不足,提出一种基于2D sine logistic混沌映射的医学图像小波域加密算法。算法首先利用整数小波变换将医学图像从空域转换为频域,充分打破像素间的相关性;其次,利用...
  • 一种基于Logistic混沌映射的骨干粒子群改进算法.pdf
  • logistic映射

    2019-04-12 11:37:03
    离散混沌动力学系统,logistic映射,matlab仿真。 logistic映射系统是目前应用最广泛的一类非线性动力学离散混沌映射系统。
  • 针对传统Logistic混沌映射及其相关改进映射普遍存在初值迭代简单、满映射的参数区间窄、不动点等问题,提出了一种新型的二级分段Logistic混沌映射.其性能进行了仿真分析,结果表明:该映射具备较宽的满映射参数...
  • 提出一种基于二维Logistic混沌映射的DWT变换域脆弱数字水印算法。首先利用原始图像的特征信息结合密钥生成二维混沌映射的初值从而生成水印信息;为了实现盲检测,该算法结合小波变换后的特征信息将水印信息嵌入到经...
  • 一维Logistic混沌映射

    2021-10-15 14:27:39
  • 该算法提出了一种利用二维Logistic混沌映射打乱原始图像像素点位置的置乱加密方法,用这种加密方法水印图像做预处理操作,原始载体图像做三级小波分解,在第三级小波分解后的水平高频和垂直高频子带中绝对值较大...
  • xlist.append(x) u = [u]*times ulist.extend(u) x = numpy.array(ulist) y = numpy.array(xlist) #plt.plot(x, y, c='yellow', label='Logistic') plt.scatter(x, y, s=1, alpha=0.4, label='Logistic') plt.ylim(...
    import matplotlib.pyplot as plt
    import numpy
    
    if __name__ == '__main__':
        xlist = []
        ulist = []
        x0 = 0.5
        times = 1000
    
        for u in range(0,401):
            u = u/100
            x = u*x0*(1-x0)
            for i in range(times):
                x = u*x*(1-x)
                xlist.append(x)
            
            u = [u]*times
            ulist.extend(u)
    
        x = numpy.array(ulist)
        y = numpy.array(xlist)
    
    
        #plt.plot(x, y, c='yellow', label='Logistic')
        plt.scatter(x, y, s=1, alpha=0.4, label='Logistic')
        plt.ylim((0,1.05))
        plt.xlim((0,4.05))
        plt.show()

    展开全文
  • 利用一维Logistic映射产生的混沌时间序列,加入反正弦与反余弦变换,对Logistic映射进行优化改进,以提高伪随机数列的统计特性。通过定性分析和定量计算发现,改进后的Logistic映射统计特性受迭代次数的限制较小,在...
  • Logistic映射

    千次阅读 2021-03-26 16:29:45
    Logistic映射,又称单峰映象,是一个二次多项式映射(递归关系),经常作为典型范例来说明复杂的混沌现象是如何从非常简单的非线性动力学方程中产生的。生物学家罗伯特·梅 Robert May [1]在1976年的一篇论文中推广了...

    概念

    Logistic映射,又称单峰映象,是一个二次多项式映射(递归关系),经常作为典型范例来说明复杂的混沌现象是如何从非常简单的非线性动力学方程中产生的。生物学家罗伯特·梅 Robert May [1]在1976年的一篇论文中推广了这一映射,它在一定程度上是一个时间离散的人口统计模型,类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的方程。

    Logistic映射的数学表达式表示为:
    x ( t + 1 ) = μ x ( t ) ( 1 − x ( t ) ) x(t+1)=\mu x(t)(1-x(t)) x(t+1)=μx(t)(1x(t))
    其中,t为迭代时间步,对于任意的t,x(t)∈[0,1],μ为一可调参数,为了保证映射得到的x(t)始终位于[0,1]内,则μ∈[0,4]。x(t)为在t时刻种群占最大可能种群规模的比例(即现有人口数与最大可能人口数的比率)。当变化不同的参数μ时,该方程会展现出不同的动力学极限行为(即当t趋于无穷大,x(t)的变化情况),包括:稳定点(即最终x(t)始终为同一个数值)、周期(x(t)会在2个或者多个数值之间跳跃)、以及混沌(x(t)的终态不会重复,而会等概率地取遍某区间)。

    当μ超过[1,4]时,就会发生混沌现象。该非线性差分方程意在观察两种情形:

    • 当人口规模很小时,人口将以与当前人口成比例的速度增长进行繁殖。

    • 饥饿(与密度有关的死亡率) ,其增长率将以与环境的”承受能力”减去当前人口所得值成正比的速度下降

    然而,Logistic映射作为一种人口统计模型,存在着一些初始条件和参数值(如μ >4)为某值时所导致的混沌问题。这个问题在较老的瑞克模型中没有出现,该模型也展示了混沌动力学。

    数值实验

    0 < = μ < = 1 0<=\mu<=1 0<=μ<=1

    在这里插入图片描述

    左图表示的是当μ=0.2,右图表示的是当μ=0.9的时候方程的迭代结果。每张图都有两条曲线(蓝色和黄色),分别表示从初始值x(0)=0.1和x(0)=0.8开始得到的演化轨迹。可以看出系统趋向于0时候的速度,显然当x(0)=0.1的时候,速度更快。

    可以观察到无论系统从何初值开始,也无论μ取什么值,系统最终都会渐进地趋近于0。因此,当0<μ<1时,系统的极限行为趋于0这个固定值。

    python代码如下:

    import numpy as np
    import matplotlib.pyplot as plt
    
    x=np.arange(0,100,1)
    x0=0.1
    x1=0.8
    x2=0.1
    x3=0.8
    u1=0.2
    u2=0.9
    
    y=[]
    y1=[]
    y2=[]
    y3=[]
    y.append(x0)
    y1.append(x1)
    y2.append(x2)
    y3.append(x3)
    for i in range(99):
        y.append(u1*x0*(1-x0))
        x0=u1*x0*(1-x0)
        y1.append(u1*x1*(1-x1))
        x1=u1*x1*(1-x1)
    
        y2.append(u2*x2*(1-x2))
        x2=u2*x2*(1-x2)
        y3.append(u2*x3*(1-x3))
        x3=u2*x3*(1-x3)
    
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 中文乱码
    plt.rcParams['axes.unicode_minus'] = False  # 正负号
    plt.figure(1)
    plt.subplot(1,2,1)
    plt.title('u='+str(u1))
    plt.xlabel("t")
    plt.ylabel("x(t)")
    
    plt.plot(x,y,label='x0=0.1')
    plt.plot(x,y1,label="x0=0.8")
    
    plt.legend()
    plt.subplot(1,2,2)
    plt.title('u='+str(u2))
    plt.xlabel("t")
    plt.ylabel("x(t)")
    
    plt.plot(x,y2,label='x0=0.1')
    plt.plot(x,y3,label="x0=0.8")
    plt.legend()
    plt.subplot(1,2,2)
    
    plt.legend()
    plt.show()
    

    1 < μ < 3 1<\mu<3 1<μ<3

    在这里插入图片描述

    左图展示的是μ=1.2,右图表示的是μ=2.7的时候方程的迭代结果,我们看到,两种情况下,方程的迭代结果仍然收敛于固定值,分别是0.18和0.63。也就是说,这个稳定值可以随着μ发生变化。

    从图中得知:

    • 当μ在1到2之间,种群数量会很快接近 μ − 1 μ \frac{μ−1}{μ} μμ1,不论最初种群为何值
    • 当μ在2到3之间,人口数在经历一段时间的波动后会趋于稳定值 μ − 1 μ \frac{μ−1}{μ} μμ1,其收敛速度满足线性变化。但当μ=3时,比线性收敛还要缓慢。

    事实上,只要 μ < 3 μ<3 μ<3,系统都会收敛到一个不动点,而这个不动点的数值可以通过求解下列方程而得到:
    x ∗ = μ x ∗ ( 1 − x ∗ ) ​ x^*=\mu x^*(1-x^*)​ x=μx(1x)
    得到解为:
    x 1 ∗ = 0 , x 2 ∗ = μ − 1 μ x^*_1=0,x^*_2=\frac{\mu -1}{\mu} x1=0,x2=μμ1
    其中, x 1 ∗ = 0 x_1^∗=0 x1=0对应的是 μ < 1 μ<1 μ<1时候的不动点, x 2 ∗ = μ − 1 μ x_2^∗=\frac{μ−1}{μ} x2=μμ1对应的是 μ > 1 μ>1 μ>1时候的不动点。

    所谓的迭代不动点,也就是:一旦出现某一个 T T T使得 x ( T ) = x 1 ∗ , x 2 ∗ ∗ x(T)=x_1^∗,x_2*∗ x(T)=x1,x2,则对任意的t>T都会有: x ( t ) = x 1 ∗ , x 2 ∗ x(t)=x_1^∗,x_2^∗ x(t)=x1,x2

    这就是上述两种情况。方程会收敛到不动点,并不会再产生新的 x ( t ) x(t) x(t)值。

    3 < μ < 3.6 3<\mu<3.6 3<μ<3.6

    在这里插入图片描述

    • 当μ在3到 1 + 6 ≈ 3.44949 1+\sqrt{6} ≈ 3.44949 1+6 3.44949,在所有的初始条件下,人口数会持续在两个依赖μ的值之间近似永久振荡

    这个时候,方程的迭代会出现周期行为。随着μ的增大,周期的长度也会相应地增加。如图所示两种情况,左侧的

    周期为2,右侧的周期为4。

    当μ为3.2的时候,图形呈现锯齿状,表明x(t)在两个值之间:0.5和0.8上下徘徊。虽然从不同的初始值开始(蓝线

    和紫线),系统演化的轨迹并不一样,但是它们的终值却始终是0.5和0.8。

    • 当μ大约在3.44949和3.54409之间,在所有的初始条件下,人口数将在四个值之间近似永久振荡。后一个数字是一个12次多项式的根。

    右图展示了当μ=3.5的时候,系统在4个值上下反复跳动即0.87–>0.4–>0.82–>0.5。蓝色的轨迹和紫色的轨迹在初

    始略有不同,但是最终收敛到了一起。如果进一步增加μ值,系统还会呈现出更多的周期,包括8周期、16周期……

    μ = 3.6 \mu=3.6 μ=3.6

    在这里插入图片描述

    事实上,从μ>3.54以后,系统震荡的周期就变得越来越长。

    • 当μ≈ 3.56995,出现混沌现象,在倍周期级联的末端。在所有的初始条件下,不再观察到有限周期内的振动。 随着时间的推移,初始种群数的微小变化会产生明显不同的结果,这是混沌的主要特征。

    • 3.56995以上的μ值大多表现出混沌行为,但仍有一定的孤立范围表现出非混沌行为;这些岛屿有时被称为稳定岛。例如,从 1 + 8 1 +\sqrt{8} 1+8 (约3.82843)开始, 有一个参数μ的范围,在3个值之间显示μ振荡,在6个值之间显示稍高的μ振荡,然后在12个值之间显示稍高的μ振荡,等等。

    直到大概3.6的时候,周期长度趋向于无穷大,此时,系统开始了混沌状态。随着系统的演化,x(t)的值会一直在0.3到0.9之间徘徊,没有固定的周期,而且行为很随机。不同的初始状态演化的轨迹也不重合。

    由此可见,这个时候迭代系统表现出随机性,然而整个迭代方程都是确定性的,因此认为产生了确定性的混沌。

    3.6 < μ < 4 3.6<\mu<4 3.6<μ<4

    当参数μ从大约3.56995变化到3.82843时,Logistic映射的混沌行为的发展过程有时被称为the Pomeau–Manneville scenario,其特征是周期性(层流)阶段被非周期性行为突然打断。

    当μ持续增大的时候,迭代运行的轨道就会在周期类型和混沌类型之间来回切换。直到μ=4,系统处于完全混沌的状态,最终的长期行为会在[0,1]区间上均匀分布。

    μ = 4 \mu=4 μ=4

    μ \mu μ 4的特殊之处与μ= 2相同,其可以获得精确的解,虽然,一般情况只能通过统计来预测。

    当μ = 4 时,
    x n = s i n 2 ( 2 n θ π ) x_n=sin^2(2^n\theta\pi) xn=sin2(2nθπ)
    给出初始参数 θ \theta θ:
    θ = 1 π s i n − 1 ( x 0 ) \theta=\frac{1}{\pi}sin^{-1}(\sqrt{x_0}) θ=π1sin1(x0 )
    针对有理数的θ,有限次数的迭代后 x t x_t xt就会变成一个周期性的数列。不过几乎所有的θ都是无理数,此时 x t x_t xt不会重复,因此没有周期解。此解可以清楚的看出混沌的二个重要特征:拉伸及折叠。系数 2 t 2^t 2t表示拉伸的指数增长,因此造成蝴蝶效应,也就是对初始值的高度依赖性,而解中包括正弦函数的平方,使解折叠在[0,1]的范围内。

    对于μ= 4,用复数代替三角函数的等价解为:
    x t = − α 2 t − α − 2 t + 2 4 x_t=\frac{-\alpha^{2^t}-\alpha^{-2^t}+2}{4} xt=4α2tα2t+2
    α \alpha α也是复数

    其模量为1,正如就像三角函数中的平方正弦函数不会导致点集的缩小或扩大,在后者的解决方案中,可通过α的单位模量来实现该种结果。

    相比之下,μ =2的解为:
    x t = 1 2 − 1 2 ( 1 − 2 x 0 ) 2 t x_t=\frac{1}{2}-\frac{1}{2}(1-2x_0)^{2^t} xt=2121(12x0)2t
    对于 x 0 ∈ [ 0 , 1 ) x_0∈[0,1) x0[0,1)。此解没有混沌的特性。由于对不包括不稳定的不动点点0在内的 x 0 x_0 x0,当t趋近无限大时, ( 1 − 2 x 0 ) 2 t (1-2x_0)^{2^t} (12x0)2t会趋近于零,因此xt会趋近稳定的不动点 1 2 \frac{1}{2} 21

    μ = 4 \mu=4 μ=4时,几乎所有的初值都会使Logistic映射出现混沌特性,不过也存在无限个初值会使Logistic映射最后呈周期性变化。而且对于所有正整数,都存在一初值使Logistic映射的周期为正整数。可以利用 Logistic映射和移位映射 Dyadic transformation之间的关系来找出任何周期的循环。若x依照Logistic映射 x t + 1 = 4 x t ( 1 − x t ) x_{t+1}=4x_t(1-x_t) xt+1=4xt(1xt),而y依照移位映射
    y t + 1 = { 2 y t 0 ≤ y t < 0.5 , 2 y t − 1 0.5 ≤ y t < 1 , y_{t+1}= {} \left\{ \begin{array}{lr} 2y_t & 0 \leq y_t<0.5, & \\ 2y_t-1 & 0.5\leq y_t<1, \end{array} \right . {} yt+1={2yt2yt10yt<0.5,0.5yt<1,
    则二个变量的关系如下:
    x t = s i n 2 ( 2 π y t ) x_t=sin^2(2\pi y_t) xt=sin2(2πyt)
    当y以二进制表示时,映射会将二进制的数字左移一位(若左边的二进制点为1,则这个1会变为0),该种映射也称为二元转换移位映射。例如,如果迭代的二进制扩展中有一个3位重复序列(并不是一个1位重复序列),则会发生长度为3的循环。迭代001001001…映射到010010010…,映射到100100100…,反过来又映射成原来的001001001…;这是一个3循环的移位图。循环节为010, 011, 100, 101, 110 时也会有类似情形。

    另外三个二值展开重复序列给出了三次循环110110110…→101101101…→011011011…→110110110。这些循环小数都可以转换为对应的分数,第一个给定的周期为3的循环小数若以分数表示则为:1/7 → 2/7 → 4/7 → 1/7。

    将其转换到μ=4的Logistic映射后,所得到的逻辑循环为611260467… → 950484434… → 188255099… → 611260467…。其他周期为3的循环也可以转换为Logistic映射。同样地,任何长度为k的循环都可以在移位映射中找到,然后转换成相应的Logistic映射。

    对于μ=4的Logistic映射,此时对应μ= 2的帐篷映射 Tent map。(最小)长度k = 1,2,3,…的循环数是一个已知的整数序列(OEIS中的序列A001037):2,1 ,2、3、6、9、18、30、56、99、186、335、630、1161…这告诉我们,μ=4的Logistic映射具有2个不动点点,长度为2时的周期为1,长度为3时的周期为2,依此类推。对于素数k有序列: 2 2 k − 1 − 1 k 2\frac{2^{k-1}-1}{k} 2k2k11 例如: 2 2 13 − 1 − 1 13 2\frac{2^{13-1}-1}{13} 21321311 是长度为13的循环数。在所有初始条件下,映射都是混乱的,所以这些有限长度的循环都是不稳定的。

    不同参数 μ \mu μ下的极限行为

    不论μ取任意值,最多有一个稳定的周期。 如果存在一个稳定的周期,那么它是全局稳定的,吸引了几乎所有的点。一些具有周期稳定循环的μ在某些时候会有无穷多个不同周期的不稳定循环。

    为了概括上述各种数值模拟试验的结果,我们用下面的相图来表示不同μ值对应的极限行为

    在这里插入图片描述

    如图显示的每一个参数μ所对应的迭代的极限行为。

    下面动画是在相同的参数下,通过从不同的初始值(共有500个)开始迭代足够多的次数(T=100次),记录下这些数据点对应的x(T)值的变化过程。
    在这里插入图片描述

    python代码如下:

    import numpy as np
    import matplotlib.pyplot as plt
    
    #不同参数u下的极限行为
    #横轴为u,纵轴为不同初始条件下的x(t)(迭代T次后的最终结果,不是函数关系而是一个u对应1000个x(t))
    xt=np.arange(0.01,1.01,0.01)
    #初始值x0个数
    m=500
    #迭代次数
    T=100
    #参数u个数
    u_num=100
    u=np.arange(1/u_num,4+1/u_num,1/u_num)
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 中文乱码
    for t in range(1,T+1):
      #第t次迭代,共T次
      #初始化横、纵坐标
      x=np.array([])
      y=np.array([])
      plt.cla()
      for i in u:
        #对不同的u,设置不同的初始条件
        xt=np.arange(1/m,1+1/m,1/m)
        #得到经过n次迭代的结果
        for j in range(t):
          xt=xt*i*(1-xt)
        #横坐标为当前的u,m个
        x=np.append(x,np.ones((m,))*i)
        #纵坐标为不同的初始条件得到的n次迭代的结果
        y=np.append(y,xt)
      #绘制第t次迭代后的图像
      plt.scatter(x,y,s=1,marker='.',label='Logistic map:$x(t+1)=\\mu x(t) (1-x(t))$')
      #设置横、纵坐标轴的刻度
      plt.xlim(0,4)
      plt.ylim(0,1)
      #设置横纵坐标轴标签
      plt.xlabel('$\\mu$\n不同初始条件下关于$\\mu$的函数')
      plt.ylabel('x(t)')
      plt.title('t='+str(t))
      #scatter()绘制散点,plot()绘制经过点的曲线
      #legend添加图例(放到scatter画图操作之后):展示数据的信息
      plt.legend()
      # plt.plot(x,y)
      plt.pause(0.01)
    plt.show()
    

    混沌与Logistic映射

    庞加莱映射

    为了更清楚地了解运动的形态,庞加莱对连续运动的轨迹用一个截面叫庞加莱截面将其横截,那么根据轨迹在截面上穿过的情况就可以简洁地判断运动的形态,由此所得图像叫庞加莱映像。在截面图上轨迹下一次穿过截面的点X(n+1)可以看成前一次穿过的点X(n)的一种映射:X(n+1)=f(X(n))n=0,1,2,…这个映射就叫庞加莱映射。它把一个连续的运动化为简洁的离散映射来研究,在庞加莱映射中的不动点反映了相空间的周期运动;如果运动是二倍周期的则庞加莱映射是两个不动点;四倍周期则有四个不动点等。绘制庞加莱映射是在普通的相平面上进行,它不是像画相轨道那样随时间变化连续地画出相点,而是每隔一个外激励周期T=2π/ω取一个点,例如取样的时刻可以是t=0,T,2T…,相应的相点记为P0(x0,y0) P1(x1,y1) P2(x2,y2)…,这些离散相点就构成了庞加莱映射。

    参考

    展开全文
  • 理论分析了Logistic混沌系统的定义、敏感性、李雅普诺夫指数以及相关性之后,采用Logistic混沌序列进行图像加密,并通过仿真和FPGA硬件实现验证了算法的可行性。结果表明该加密系统抗攻击性强,并且能够无失真的恢复...
  • (混沌系统)图像加密之Logistic混沌映射matlab仿真

    千次阅读 多人点赞 2020-10-18 15:57:10
    简单实现 clear; clf; u=2.6:0.001:4.0; x=0.1; for i=1:300 x=u.(x-x.^2); end for j=1:80 x=u.(x-x.^2); plot(u,x,‘k.’,‘markersize’,2) hold on; end grid on
  • logistic映射的fortran程序实现
  • MATLAB之GMATLAB之GUI界面设计 混沌模型 Logistic映射UI界面设MATLAB之GUI界面设计 混沌模型 Logistic映射混沌模型 Logistic映射
  • 基于离散系统的稳定性判据
  • logistic映射源代码

    2011-08-23 21:00:55
    用matlab实现logistic映射 加深对混沌的理解
  • 适用于图像加密研究,非常好的算法。请大家借鉴。
  • 基于Logistic映射的随机信号发生器的设计,张新国,夏春水,在分析Logistic映射区间特性的基础上,通过对Logistic映射迭代公式进行改造,利用AT89C51单片机及外围器件制作出可编程的随机信号发生器�
  • 基于Logistic 映射和超混沌系统的图像加密方案
  • Java实现Logistic映射混沌图像加密算法Logistic混沌序列效果图关键代码参考 Logistic混沌序列 首先选取一种典型的Logistic混沌序列,如下: xn+1=λxn(1−xn),xn∈[0,1] x_{n+1}= \lambda x_{n}\left ( 1-x_{n} \...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,753
精华内容 6,701
关键字:

对logistic映射