2013-02-17 116 views
0

我想做一個迭代地圖並繪製它。我剛開始學習python。 這裏是我的代碼:我覺得我犯了一個語法錯誤,我的代碼只給了我一條直線。蟒蛇做一個迭代地圖

N = 10000 
aa = linspace(2, 4, N) 
xx = zeros(N) 
for jj in range(N):a = aa[jj] 
x0 = rand() 
for ii in range(1, 100): x0 = a *x0 *(1 -x0) 
xx[jj] = x0 
plot(aa, xx, '.') 

我在做什麼錯? 謝謝。

+0

請進一步解釋自己和格式化你貼:) – slezica 2013-02-17 23:44:56

+0

@uʍopǝpısdn固定立即顯示問題的代碼 - 它現在是到OP正確縮進:) – 2013-02-17 23:45:50

+1

我猜你的代碼也做了像''numpy import *'和'from matplotlib.pyplot import *':你需要包含那些導入語句,以方便其他人運行你的代碼。 – Marius 2013-02-17 23:49:13

回答

1

使用python縮進比其他語言更重要。

只是通過重新安排你的代碼(並把在命名空間和這樣的,所以這是顯而易見的,其中功能是從哪裏來的),我得到這個:

enter image description here

下面是代碼:

import numpy 
from matplotlib import pyplot 
import random 



N = 10000 
aa = numpy.linspace(2, 4, N) 
xx = numpy.zeros(N) 
for jj in range(N): 
    a = aa[jj] 
    x0 = random.random() 
    for ii in range(1, 100): 
     xx[jj] = a *x0 *(1 -x0) 

pyplot.plot(aa, xx, '.') 
pyplot.show() 
+0

謝謝大家,我很抱歉我的不熟悉的問題格式。 – user2081556 2013-02-17 23:58:34

+0

是的,我不明白縮進的重要性!這使所有的區別! – user2081556 2013-02-18 00:07:13

+0

@ user2081556沒關係。請將答案標爲正確! – will 2013-02-18 00:14:45

1

這裏是我試過的代碼:

import numpy as np 
import matplotlib.pyplot as plt 
import random 

N = 10000 
aa = np.linspace(2, 4, N) 
xx = np.zeros(N) 
for jj in range(N): 
    a = aa[jj] 
    x0 = random.random() 
    for ii in range(1, 100): 
     x0 = a *x0 *(1 -x0) 
    xx[jj] = x0 
plt.plot(aa,xx,'.') 
plt.show() 

這根erates附加plot