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