【python】绘制Logistic映射的分叉图

2025-10-21 12:03:03

1、现在,固定初始值为0.123569,系数介于2到2.999之间:

import numpy as np

import matplotlib.pyplot as plt

if __name__ == '__main__':

    pts=[]

    n=15

    x=0.123569

    a=np.linspace(2.1,2.999,100)

【python】绘制Logistic映射的分叉图

2、每一个系数对应一组Logistic映射,我们要搜索映射迭代的稳定数值:

    for i in a:

        nn,A=xunhuanjie(i,x,n)

此时的稳定周期,基本上都是2。

【python】绘制Logistic映射的分叉图

3、把稳定数值与系数配对:

        for aa in A:

            pts.append(np.array([i,aa]))

        #pass

    p=np.array(pts)

这样得到的p,是一组点。

【python】绘制Logistic映射的分叉图

4、可视化这些点:

    plt.scatter(p[:,0],p[:,1],c="b",s=.5,marker=".")

    plt.show()

看起来,稳定状态的两个数值差异很小,看不出分叉。

【python】绘制Logistic映射的分叉图

5、系数介于3.1到3.567之间:

    a=np.linspace(3.1,3.567,100)

此时的分叉图:

【python】绘制Logistic映射的分叉图

6、系数介于2到3.567,但不包括3:

    a0=np.linspace(2,2.999,100)

    a1=np.linspace(3.001,3.567,100)

    a=np.array([a0,a1]).flatten()

这样得到的分叉图:

【python】绘制Logistic映射的分叉图

7、导出图片:

    plt.savefig(

            "C:/Users/Administrator/Pictures/0.png",

            dpi=200)

【python】绘制Logistic映射的分叉图

1、初始值为0.3的分叉图:

【python】绘制Logistic映射的分叉图

2、初始值为0.56的分叉图:

【python】绘制Logistic映射的分叉图

3、初始值为0.999999的分叉图:

【python】绘制Logistic映射的分叉图

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢