Gtld corr: различия между версиями
Перейти к навигации
Перейти к поиску
Нет описания правки |
|||
| (не показано 5 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
== Краткое описание == | == Краткое описание == | ||
Функция предназначена для расчета коэффициента корреляции дискретных сигналов (массивов). В качестве аргументов на вход подаются | Функция предназначена для расчета коэффициента корреляции дискретных сигналов (массивов). В качестве аргументов на вход подаются массивы данных. В результате возвращается расчетное значение коэффициента корреляции. | ||
== Синтаксис == | == Синтаксис == | ||
Стандартная конструкция выглядит таким образом: | Стандартная конструкция выглядит таким образом: | ||
<pre style="color: purple> | <pre style="color: purple> | ||
var __corr = getCorr( массив 1, массив 2 ); | |||
</pre> | </pre> | ||
== Содержание функции == | == Содержание функции == | ||
<pre> | <pre> | ||
function getCorr( | function getCorr(arr1, arr2) { | ||
let X = 0; //аргумент 1 | let X = 0; //аргумент 1 | ||
let Y = 0; //аргумент 2 | let Y = 0; //аргумент 2 | ||
let Z = 0; //аргумент 3 | let Z = 0; //аргумент 3 | ||
let | let __avg1 = arr1.reduce((acc, item) => (acc + item)) / arr1.length; //среднее значение массива 1 | ||
let | let __avg2 = arr2.reduce((acc, item) => (acc + item)) / arr2.length; //среднее значение массива 2 | ||
for (let i = 0; i < arr1.length; i++) { | for (let i = 0; i < arr1.length; i++) { | ||
X += (arr1[i] - | X += (arr1[i] - __avg1) * (arr1[i] - __avg2); | ||
Y += (arr1[i] - | Y += (arr1[i] - __avg1) ** 2; | ||
Z += (arr2[i] - | Z += (arr2[i] - __avg2) ** 2; | ||
}; | }; | ||
Текущая версия от 00:52, 24 февраля 2025
Краткое описание
Функция предназначена для расчета коэффициента корреляции дискретных сигналов (массивов). В качестве аргументов на вход подаются массивы данных. В результате возвращается расчетное значение коэффициента корреляции.
Синтаксис
Стандартная конструкция выглядит таким образом:
var __corr = getCorr( массив 1, массив 2 );
Содержание функции
function getCorr(arr1, arr2) {
let X = 0; //аргумент 1
let Y = 0; //аргумент 2
let Z = 0; //аргумент 3
let __avg1 = arr1.reduce((acc, item) => (acc + item)) / arr1.length; //среднее значение массива 1
let __avg2 = arr2.reduce((acc, item) => (acc + item)) / arr2.length; //среднее значение массива 2
for (let i = 0; i < arr1.length; i++) {
X += (arr1[i] - __avg1) * (arr1[i] - __avg2);
Y += (arr1[i] - __avg1) ** 2;
Z += (arr2[i] - __avg2) ** 2;
};
return X / (Math.sqrt(Y) * Math.sqrt(Z));
}; //рассчет корреляции