我是一名初学者,英语不太好,对此感到抱歉。 我想绘制序列的分叉图: x(n+1)=ux(n)(1-x(n)),其中x(0)=0.7,u在0.7和4之间。
我应该得到类似于这样的东西:
所以,对于每个u的值,我想计算这个序列的累积点。因此,我想编写一些代码,可以显示每个u的点(u;x1001),(u;x1002)...(u;x1050)。
我做了这个:
import matplotlib.pyplot as plt
import numpy as np
P=np.linspace(0.7,4,10000)
m=0.7
Y=[m]
l=np.linspace(1000,1050,51)
for u in P:
X=[u]
for n in range(1001):
m=(u*m)*(1-m)
break
for l in range(1051):
m=(u*m)*(1-m)
Y.append(m)
plt.plot(X,Y)
plt.show()
我得到了一个空白的图形。
这是我尝试编写的第一件事,我还不懂Python,所以请帮帮我。
break
语句?这会导致你的for u in P:
循环在第一次迭代的中途就结束了。 - pcarter