From 5f6b316f5e969b39ecfe6db98d676d74693bb775 Mon Sep 17 00:00:00 2001 From: Aleksey_K Date: Thu, 27 Jun 2024 10:55:27 +0900 Subject: [PATCH] getCorr was cahged --- getCorr.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/getCorr.js b/getCorr.js index 5c4c939..2909aa7 100644 --- a/getCorr.js +++ b/getCorr.js @@ -23,17 +23,16 @@ export function getAutoCorr(options) { let lag = 0.5; let X = 0; //аргумент 1 let Y = 0; //аргумент 2 - if (options.lag < 0.5) { lag = options.lag } else { lag = 0.5 }; + if (options.lag <= 0.5) { lag = options.lag } else { lag = 0.5 }; let T = Math.floor(arr.length * lag); //определяем количество индексов (шагов) для смещения массива - let arr0 = arr.slice(0, T); //обрезаем массив на величину смещения - let avg = arr0.reduce((acc, item) => (acc + item)) / arr0.length; //среднее значение массива - Y = arr0.reduce((acc, item) => (acc + (item - avg) ** 2)); //рассчитываем знаменатель функции + let avg = arr.reduce((acc, item) => (acc + item)) / arr.length; //среднее значение массива + Y = arr.reduce((acc, item) => (acc + (item - avg) ** 2)); //рассчитываем знаменатель функции for (let i = 0; i < T; i++) { let Rh = arr.slice(- i); //отделяем "хвост" массива let Lt = arr.slice(0, - i); //отделяем "тело" массива let arr2 = [].concat(Rh, Lt); //соединяем части массива - for (let j = 0; j < T; j++) { X += (arr[j] - avg) * (arr2[j] - avg); }; + for (let j = 0; j < arr.length; j++) { X += (arr[j] - avg) * (arr2[j] - avg); }; plot.push(X / Y); //записываем значение в массив коэффициентов X = 0; }; //смещение массива