python - 在 Python 中集成值列表

标签 python list scipy integration integral

我有一个数据列表,代表加速度。为了简单起见,我们假设这个列表是:

X = [1, 2, 3, 4, 5]

我想将此列表中的每个值积分两次(双重积分),以便我可以检索有关位置的信息。

快速提醒:位置、速度和加速度是相关的。您可以通过两次求导来找到加速度。或者,如果从加速开始,您可以积分两次。

我无法真正更改我正在使用的数据。我将来自加速度计的浮点值存储在列表中。我还了解到,积分通常需要定义一个函数,通常带有一个可以在一定时间间隔内积分的变量。

我尝试过使用该库:

import scipy.integrate as integrate 

并尝试使用.quad方法,但出现错误。

我希望得到任何有帮助的提示、想法或资源链接。

Github repo

最佳答案

使用.cumtrapz方法。 cumtrapz(X) 通过单位间距梯形法计算 X 的近似累积积分。

import scipy.integrate as it
X = [1, 2, 3, 4, 5]
velocity = it.cumtrapz(X,initial=0)
location = it.cumtrapz(velocity,initial=0)
print 'velocity: ', velocity
print 'location: ', location

输出:

velocity:  [  0.    1.5   4.    7.5  12. ]
location:  [  0.     0.75   3.5    9.25  19.  ]

请注意,如果您有与加速度矢量对应的时间矢量t,则需要使用cumtrapz(X,t)Here是方法 cumtrapz 的引用。

关于python - 在 Python 中集成值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53026955/

相关文章:

python - NumPy:创建类似于 "repeat"的 bool 数组,但在多个维度中

python - 了解递归函数的输出

python - 如何在 DjangoCMS 模板上添加标题和元描述?

python - 如何连接列表中的项目?

Python 将字典列表转换为另一个字典列表

c++ - 迭代某个类的 vector 列表 (C++)

python - 使用键列表遍历多维字典的优雅方式?

python - 如何有效地加载稀疏矩阵?

python - sklearn 有组套索吗?

python - Scipy.optimize.curve_fit 不符合余弦幂律