微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Scipy simpson 集成以获取值数组

如何解决Scipy simpson 集成以获取值数组

import numpy as np
from scipy.integrate import simpson

我正在尝试对下面给出的加速度信号进行积分:

f2 = lambda t: 0.1*np.sin(np.pi*t) + 0.1*np.sin(20*np.pi*t) + 0.01

对于时间点:

t = np.arange(0,20,0.1)

我正在尝试使用 scipy 中的 simps/simpson 包将 f2 集成到 t 上,但出现此错误

v2 = simpson(f2,t)
IndexError: tuple index out of range

如果我使用如下列表理解来创建加速度数据点列表:

a2 = [f2(i) for i in t]

并使用辛普森规则整合上面的列表,我只得到一个值:

v2 = simps(a2,t)

这是

v2 = 0.2005702922522627

我想在时间段 t 内使用 Simpson 积分获得一个列表或一组速度值,并将其与 t 作图,但我尝试的一种方法是给我一个错误,而另一种方法是给出一个奇异值。

解决方法

问:您为什么要为此使用分析方法/库?在这种情况下

v = v0 + Sigma( da * dt ) * 常数。

该常数取决于产生信号的加速度传感器。如果该传感器工作线性,那么您可以对您的 lambda change (da) 进行采样,直到 t 以足够小的步长 (dt),然后将结果与步长相乘并累积结果。每个样本都会得到一个可以绘制的 v 值。要找到 v 的值,请确保添加 v0(启动速度)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。