我正在尝试使用此代码在两点之间找到函数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”。我不知道这意味着什么,我在任何地方都找不到它的参考。你能帮忙吗? 谢谢
答案 0 :(得分:0)
您的函数积分缺少返回语句:
def integral(arr)
return (1-0)*(f(1)-f(0))*arr
应该可以让您获得成功。 但是,该函数目前执行的不多(1 * 1 * arr),您可能需要查看scipy集成函数。