【发布时间】:2017-09-28 19:27:41
【问题描述】:
我在 python 中有一个函数(也使用 scipy 和 numpy)定义为
import numpy as np
from scipy import integrate
LCDMf = lambda x: 1.0/np.sqrt(0.3*(1+x)**3+0.7)
我想将它从 0 整合到一个 numpy 数组中的每个元素,比如 z = np.arange(0,100)
我知道我可以为每个迭代的元素编写一个循环
an=integrate.quad(LCDMf,0,z[i])
但是,我想知道是否有一种更快、更有效(和更简单)的方法来处理每个 numpy 元素。
【问题讨论】:
-
我记得很久以前使用 np.vectorize 方法解决了这个问题。我不太记得我是怎么做到的……但当时它似乎是一个通用的解决方案,并且对我有用。任何人都可以在类似的方向解决它吗?
-
np.vectorize只是将迭代包装在函数调用中。它不会加速您的代码。 -
我用它来处理 numpy 数组...不是为了加快速度
标签: python arrays numpy scipy integrate