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不会就地发生,这意味着它不会修改初始数组,它只是返回一个带有附加值的新数组。因此,对您的代码的一种可能修复是替换:

numpy.append(U,n)

经过

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