2013-02-17 139 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