我正在尝试制作一个迭代地图并绘制它。我刚开始学习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 :(得分:1)
使用python,缩进比其他语言更重要。
只需重新安排你的代码(并放入名称空间等等,所以很明显函数的来源),我明白了:
以下是代码:
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()
答案 1 :(得分: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()
这将生成附加的