gpt4 book ai didi

python - python的 fork 图

转载 作者:太空狗 更新时间:2023-10-30 01:05:11 26 4
gpt4 key购买 nike

我是初学者,我的英语说得不是很好,对此深表歉意。我想绘制序列的 fork 图:x(n+1)=ux(n)(1-x(n)) 其中 x(0)=0.7 且 u 在 0.7 和 4 之间。

我应该得到这样的东西:

/image/T4gyF.png

因此,对于 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 还一无所知,所以我需要帮助。

最佳答案

您的代码中存在一些问题。虽然你遇到的问题是代码审查问题,但生成 fork 图是一个普遍感兴趣的问题(它可能需要在 scicomp 上重新定位,但我不知道如何正式请求)。

import matplotlib.pyplot as plt
import numpy as np
P=np.linspace(0.7,4,10000)
m=0.7
# Initialize your data containers identically
X = []
Y = []
# l is never used, I removed it.
for u in P:
# Add one value to X instead of resetting it.
X.append(u)
# Start with a random value of m instead of remaining stuck
# on a particular branch of the diagram
m = np.random.random()
for n in range(1001):
m=(u*m)*(1-m)
# The break is harmful here as it prevents completion of
# the loop and collection of data in Y
for l in range(1051):
m=(u*m)*(1-m)
# Collection of data in Y must be done once per value of u
Y.append(m)
# Remove the line between successive data points, this renders
# the plot illegible. Use a small marker instead.
plt.plot(X, Y, ls='', marker=',')
plt.show()

此外,X 在这里没有用,因为它包含 P 的副本。

关于python - python的 fork 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47021057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com