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 に答える