曲线下两个槽之间的面积,而不是两点之间的积分

2024-10-01 07:31:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个X(X)和Y(信号)数据列表,我使用这些数据计算波谷:

from scipy.signal import find_peaks
troughs, _= find_peaks(-signal)

现在我想计算第一个波谷和最后一个波谷之间的积分

from scipy.interpolate import InterpolatedUnivariateSpline   
x = range(1,len(signal)+1)
f = InterpolatedUnivariateSpline(x, y)
f.integral(peaks[1], peaks[-1])
which gives me: -1.477

假设该值为负值,则与计算积分的事实一致。但是曲线下的面积呢?我们知道它们彼此不相等,因为积分可以是负数,但AUC不能。 有没有简单的方法来计算两个不同点之间的AUC?我能想到的一种方法是把Y分成负的和非负的两组,分别对每组做积分


Tags: 数据方法fromimport列表signal信号range
1条回答
网友
1楼 · 发布于 2024-10-01 07:31:01

您可以为函数使用abs值。 是一样的吗

divide Y into negative and non negative groups and do the integral for each group separately

但是更快

从数学上讲,它应该是有效的。。。但我不知道这是不是你想要的

希望对您有所帮助。:)

相关问题 更多 >