我正在尝试编写附加到高斯概率密度函数数组值的代码。我设法写下了这篇文章(基于列表的附件(:
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的界限;错误也许有人能向我解释一下为什么,我能做些什么来修复它吗?
numpy.append
不会发生在适当的位置,这意味着它不会修改初始数组,它只是返回一个带有附加值的新数组。因此,对您的代码的一个可能的修复方法是替换:
numpy.append(U,n)
通过
U = numpy.append(U,n)