Python实现Incremental Area Under the Curve (iAUC)的自定义方法
增量曲线下面积(iAUC)实现方案
我找到了实现增量曲线下面积(Incremental Area Under the Curve, iAUC)的方法,此前在全网搜索相关实现方案未果,因此自行尝试摸索出了如下实现方式。如果代码存在错误欢迎大家指出。
参数说明:
- 输入参数
a:x值数组 - 输入参数
b:与x值对应的y值数组
实现代码如下:
def areaUnderCurve(a, b): sum = 0 for i in range(len(a)-1): if (b[i+1]-b[0]>=0) and (b[i]-b[0]>=0): temp = ((b[i]-b[0]+b[i+1]-b[0])/2)*(a[i+1]-a[i]) elif (b[i+1]-b[0] < 0) and (b[i]-b[0] >= 0): temp = (b[i]-b[0])*((b[i]-b[0])/(b[i]-b[i+1])*(a[i+1]-a[i])/2) elif (b[i+1]-b[0] >= 0) and (b[i]-b[0] < 0): temp = (b[i+1]-b[0])*((b[i+1]-b[0])/(b[i+1]-b[i])*(a[i+1]-a[i])/2) elif (b[i]-b[0] < 0) and (b[i+1]-b[0] < 0): temp = 0 sum = sum + temp return sum
内容的提问来源于stack exchange,提问作者supunvindula
相关产品推荐
相关产品推荐

