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, '.')

我究竟做错了什么?谢谢。

4

2 回答 2

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()
于 2013-02-17T23:55:59.900 回答
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()

这会生成附加的阴谋

于 2013-02-18T04:14:54.787 回答