我有一个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分成负的和非负的两组,分别对每组做积分
您可以为函数使用
abs
值。 是一样的吗但是更快
从数学上讲,它应该是有效的。。。但我不知道这是不是你想要的
希望对您有所帮助。:)
相关问题 更多 >
编程相关推荐