1

ガウス確率密度関数の配列値に追加するコードを作成しようとしています。私はこれを書くことができました(リストへの追加に基づいて):

N=100
U = numpy.array([])
for i in range(0, N):
    n = random.random()
    numpy.append(U,n)
for i in range(0, int(N/2)):
    u1 = U[i]
    u2 = U[i+1]
    numpy.append(U,math.sqrt(-2*math.log(u1))*math.cos(2*math.pi*u2))
    numpy.append(U,math.sqrt(-2*math.log(u1))*math.sin(2*math.pi*u2))

しかし、「インデックス 0 はサイズ 0 の軸 0 の範囲外です」というエラーが表示されます。誰かが理由を説明してくれませんか?それを修正するにはどうすればよいですか?

4

1 に答える 1

0

numpy.appendつまり、初期配列は変更されず、値が追加された新しい配列が返されるだけです。したがって、コードの可能な修正の 1 つは、次のものを置き換えることです。

numpy.append(U,n)

U = numpy.append(U,n)
于 2021-06-06T13:35:36.777 に答える