以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()
图像如下