“ ValueError:x和y不能为None”是什么意思

时间:2019-10-10 20:23:56

标签: python matplotlib

我正在尝试使用此代码在两点之间找到函数f(z)的积分:

  z = np.linspace(0,1,100)
def f(z): 
  return z**2
times = 2000

x=np.random.rand(times)
y=np.random.rand(times)

under = y <= x**2
N1 = np.cumsum(under)
N1_over_N = (N1/np.arange(1,times + 1, dtype=np.float))
def integral(arr):
  (1-0)*(f(1)-f(0))*arr


fig1 = plt.figure()
fig1.set_size_inches(5, 5)

plt.plot(x,y,'o',markersize = 1)
plt.plot(integral(N1_over_N) )
plt.show()

我不断收到“ ValueError:x和y不能为None”。我不知道这意味着什么,我在任何地方都找不到它的参考。你能帮忙吗? 谢谢

1 个答案:

答案 0 :(得分:0)

您的函数积分缺少返回语句:

def integral(arr)
   return (1-0)*(f(1)-f(0))*arr

应该可以让您获得成功。 但是,该函数目前执行的不多(1 * 1 * arr),您可能需要查看scipy集成函数。