给定一个像这样的数据集:
[[时间戳1,值1],[时间戳2,值2],...,[时间戳N,值N]]
有没有可以计算曲线面积的Javascript库?换句话说,可以计算曲线的积分吗?我找到了给出方程公式的库,返回其积分,但在这种情况下,我有数据系列,我想从该数据中获取面积而不生成近似方程。
最佳答案
任何数值积分方案都可以做到这一点。最简单的方法是辛普森规则。您需要确保数组值按时间戳升序排序。
一旦你这样做了,这就是一个简单的求和:
var integral = 0.0;
for (i = 2; i <= N; ++i) {
// function delta takes two timestamp parameters and calculates
// differences as time units (hours, minutes, seconds or milliseconds)
// not as simple as subtraction
var dt = delta(timestamp[i-1], timestamp[i]);
integral += (value[i]+value[i-1])*dt; // area of the trapezoid
}
integral /= 2.0;
关于javascript - 数据系列积分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50472392/