有什么方法可以将scipy集成存储为函数吗?

时间:2019-04-28 13:45:40

标签: numpy parallel-processing scipy

当我需要计算积分并运行循环数千次时,我陷入了一个问题。

此函数的原型为:

func_integrated = lambda t: scipy.integrate.quad(func, t, 1)

但是如果我想将func_integrated馈入数组,则意味着我将不得不运行这种集成数千次,这不是很有效。毕竟,从tt-dt的序列大约只有func(t) *dt

我的猜测是写这样的东西:

def function_integration(func, arr):
    arr = np.flip(arr, 0) # flip to count form back to front
    out_arr = np.array([0])
    for i in range(1,len(arr)):
        increment = arr[i-1] -arr[i]
        out_arr = np.hstack((out_arr, increment * func(arr[i-1])))
    return np.cumsum(out_arr)

但是这不是通用的,仍然需要循环。我想知道是否有任何scipynumpy方式可以更有效地处理此问题。

P.S。我知道sympy方法。但是,这严重依赖于内置函数,因此该方法通常难以适应。

0 个答案:

没有答案