javascript - 数据系列积分

标签 javascript math

给定一个像这样的数据集:

[[时间戳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/

相关文章:

math - 函数 f 不在 O(g) 中且 g 不在 O(f) 中

python - LUP (PLU) 分解因随机矩阵而失败

javascript - 根据对象的 Angular 移动对象

javascript - 动态信息提取

javascript - jQuery/HTML5 文件API : Why does no drag event appear to be triggering?

c# - Selenium 2 测试 Javascript

java - 在 Java 中插入积分最快的方法是什么?

math - 为什么 powerset 给出 2^N 的时间复杂度?

javascript - 在只考虑唯一性的情况下,描述性句子可以与 JavaScript 常量一起使用吗?

javascript - 如何在javascript中获取几天前的日期