1. 程式人生 > >混沌的遍歷性圖(ergodicity)

混沌的遍歷性圖(ergodicity)

以Logistic的Ergodicity為例

import matplotlib.pyplot as plt
import numpy as np

# Logistic的迭代方程
def logistic(x):
    x1=u*x*(1-x)
    return x1

#此函式用於畫Logistic的函式影象
def logistic_graph():
    for i in np.arange(0,1.01,0.01):
        x=i
        x1=u*x*(1-x)
        listlogisticx.append(x)
        listlogisticy.append(x1)

# 此函式用於畫y=x這條直線
def line_graph():
    for i in np.arange(0, 1.01, 0.01):
        x = i
        x1 = x
        listlinex.append(x)
        listliney.append(x1)

if __name__ == '__main__':
    listx = []
    listy = []
    listlogisticx=[]
    listlogisticy=[]
    listlinex=[]
    listliney=[]
    x0=0.9  # 迭代的初始值設定
    u=4  # Logistic的控制引數
    listx.append(x0)  # 初始座標點為(x0,0)
    listy.append(0)
    for i in range(100):  # 迭代次數
        x1=logistic(x0)
        listx.append(x0)
        listy.append(x1)
        listx.append(x1)
        listy.append(x1)
        x0=x1
    plt.title(r'$\mu$=4')
    plt.grid(linestyle='--')  # 設定網格
    plt.plot(listx,listy)  # 畫遍歷圖
    logistic_graph()
    plt.plot(listlogisticx,listlogisticy)  # 畫Logistic的函式影象
    line_graph()
    plt.plot(listlinex,listliney)  # 畫y=x
    plt.show()

影象如下

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述