Logistic map and henon map

讨论一维Logistic映射之一维抛物线映射$$x_{i+1}=ux_{i}(1-x_{i})$$
的轨道特性。

python 3代码

# -*- coding: utf-8 -*-
import numpy
import matplotlib.pyplot as plt
def f(x, r):
    return r*x*(1-x)
ys = []
rs = numpy.linspace(2.5, 4, 9000)
for r in rs:
        x = 0.5
        for i in range(500):
            x = f(x, r)
        for i in range(50):
            x = f(x, r)
            ys.append([r, x])
ys = numpy.array(ys)
plt.plot(ys[:,0], ys[:,1], ',')
plt.show()

logistic


以迭代次数i为横轴,x_{i}为纵轴,
初始值x_{0}=0.54

python 3代码

# -*- coding: utf-8 -*-
"""
Created on Sat Oct 29 20:29:39 2016

@author: dakaijun
"""

import matplotlib.pyplot as plt
u=2
x=0.54
for i in range(0,100):#迭代100次
    y=x
    x=u*x*(1-x)
    plt.scatter(i,x,s=10,c="r",linewidths=0) 
    plt.xlabel('i') # 给 x 轴添加标签
    plt.ylabel('x') 
    
'''
    cm = plt.cm.get_cmap('coolwarm')  
    sc=plt.scatter(y,x,c=i,vmin=1,vmax=i,linewidths=0.5,cmap=cm)
plt.xlabel('x(i)') 
plt.ylabel('x(i+1)') 
plt.colorbar(sc) 
#这一段被注释了的内容是以xi为横轴,xi+1为纵轴作的图
'''
plt.text(i/2, x/2, 'u=2')#支持LaTex语法
plt.show()

当0<u<1时,x=0是吸引子:
u0-5u1

当1<u<3时,吸引子变为1-1/u:
u1-5u2-5
当3<u<1+sqrt(6)时,1-1/u变为排斥子;出现周期为2的吸引子:
u3-2u3-4

当1+sqrt(6)<u<3.544…时,原先周期为2的吸引子变为排斥子,出现周期为4的吸引子:
u3-5
再增加u的值(3.544…<u<3.569945…),吸引子周期成倍增加。周期为8的吸引子:
u3-55
Feigenbaum发现相邻两个临界参数u之间的距离成比例缩小;周期轨道的分布也存在自相似结构
当u>3.569945…,映射或迭代结果大部分完全不收敛到任何有限个点的周期轨道,出现混沌轨道。
u3-9


henon map:

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
a=1.4
b=0.3
x=0.5
y=0.5
for i in range(1000):
    x1=x
    x=1-a*x*x+y
    y=b*x1
    plt.scatter(x,y,s=5,c="r",linewidths=0) 
plt.xlabel('x(n)') 
plt.ylabel('y(n)')

hoenon


参考资料:黄永念. 非线性动力学引论[M]. 北京大学出版社, 2010.

Smilie Vote is loading.
✿ 阅读数:6,801  分类:文章

Logistic map and henon map”下有一个评论:

  1. Pingback: henon map – 打 开

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code