python - numpy 数组元素的累积积分

标签 python arrays numpy scipy integration

我想要以下类型的集成:

假设我有 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/

相关文章:

python - 为什么用try :?捕获异常时不能返回

python - 让 pubsubhubbub 集线器工作

arrays - 戈朗 : Slicing and populating byte arrays

python - 沿所有轴无缝高效地翻转 numpy 数组或稀疏矩阵

c++ - C++ 中的函数类似于 numpy flatten

python - 通过命令行向 Python Class 中传入一个值

c++ - 在 C++ 中处理数组的问题

c++ - 对数组使用算术

python - 从 numpy 数组中删除数字

python - 如何设置scrapy蜘蛛的爬虫参数