我想要以下类型的集成:
假设我有 2 个数组
a = np.array[1,2,3,4]
b = np.array[2,4,6,8]
我知道如何使用以下内容来集成这些:
c = scipy.integrate.simps(b, a)
对于上述数据集,其中c = 15
。
我想做的是将每个数组的第一个元素相乘并添加到名为 d
的新数组,即 a[0]*b[0]
然后将前 2 个元素与数组积分,然后将前 3 个元素积分,等等。所以最终对于这个数据集,我会得到
d = [2 3 8 15]
我尝试了一些方法,但没有成功;我对编写代码还很陌生。
最佳答案
如果我正确理解了您的需求,您可以执行以下操作:
import numpy as np
from scipy import integrate
a = np.array([2,4,6,8])
b = np.array([1,2,3,4])
d = np.empty_like(b)
d[0] = a[0] * b[0]
for i in range(2, len(a) + 1):
d[i-1] = integrate.simps(b[0:i], a[0:i])
print(d)
关于python - numpy 数组元素的累积积分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32340719/