具有多个元素的数组的真值是不明确的(数值)

时间:2014-02-10 21:16:16

标签: python random numpy scipy

我遇到了一个错误,我无法找到解决方案。这是我的功能:

def rep(N,list,t):
     result=0
     for i in range(N):
         if((list[i]-t)<=t):
             result = result + 1
         else:
             result = result + 0
     return(result/N) 

然后我尝试绘制函数:

 plt.plot(x,rep(1000,nEchant,x))

这就是我得到的:

 Traceback (most recent call last):
   File "<pyshell#114>", line 1, in <module>
     plt.plot(x,rep(1000,nEchant,x))
   File "<pyshell#113>", line 4, in rep
     if((list[i]-1)<=t):
 ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

谢谢!

1 个答案:

答案 0 :(得分:0)

表达式(list[i]-t)<=t看起来像是返回一个numpy数组。要确保list[i]-t所有值小于t,请使用:

numpy.all((list[i]-t)<=t)