Интеграл базы данных - PullRequest
0 голосов
/ 22 мая 2018

Для данного набора данных это нравится:

[[timestamp1, value1], [timestamp2, value2], ...,[timestampN, valueN]]

Есть ли библиотека Javascript, которая сможет рассчитать площадь кривой ?.Другими словами, можно ли рассчитать интеграл кривой?Я нашел библиотеки, которые дали формулу уравнения, возвращает ее интеграл, но в этом случае у меня есть база данных, и я хотел бы получить площадь из этих данных без генерации приближенного уравнения.

1 Ответ

0 голосов
/ 22 мая 2018

Любая схема численного интегрирования может сделать это.Самый простой способ - это правило Симпсона.Вы должны убедиться, что значения массива отсортированы в порядке возрастания времени.

Как только вы это сделаете, это простая сумма:

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...