0
我有两个我正在使用的函数。我正在尝试制作分岔图。我有第一个功能是使用matplotlib制作地图。while循环在执行期间执行一次,在打印期间运行正常[python]
def print_bifurcation_map(initial,rmin,rmax,rstep,iterates,k):
xn_list = []
r_list = []
for r in np.linspace(rmin, rmax,rstep):
xn = []
xn.append(run_logistic(initial,r,iterates))
xn_list =xn_list + xn[-k:]
r_list = r_list + [r]*len(xn)
什么这个代码是采取一系列Rs的和作为x接近大量(迭代)计算极限。我们从列表中取出最后的k个数字。它调用下面的函数run_logistic。
def run_logistic(xn,r,iterates):
iteration = 1
while iteration <= iterates:
xn1 = logistic_map(xn,r)
iteration = iteration + 1
xn = xn1
print xn
这里是事情变得有点怪异的地方。当我通过函数'print_bifurcation_map'使用return和call时,它会运行一次并追加一次。但是,如果我将return xn更改为现在代码块中的'print xn',它似乎运行得更正确,尽管速度非常缓慢。
那么,我在print_bifurcation_map定义或run_logistic函数中做了什么不正确。以下是logistic_map函数。
def logistic_map(xn,r):
xn1 = r*xn*(1-xn)
return xn1
嘿,谢谢。我没有意识到退出功能。我需要这个xn_list的所有值,所以我将不得不返回一个附加列表。谢谢你的帮助。 – user2723240