#include "stdafx.h" #include "Math.h" #include "Normalization.h" using namespace std; Normalization::Normalization() { timeSeriaShiftValue = 0; maxTimePoint = 0; } vector Normalization::shift(vector timeSeria){ double timeSeriaShiftValue = timeSeria[0]; for (int i = 0; i < timeSeria.size(); i++){ if (timeSeria[i] < timeSeriaShiftValue && timeSeria[i] < 0){ timeSeriaShiftValue = timeSeria[i]; } } if (timeSeriaShiftValue < 0){ timeSeriaShiftValue = fabs(timeSeriaShiftValue); for (int i = 0; i < timeSeria.size(); i++){ timeSeria[i] += timeSeriaShiftValue; } } return timeSeria; } vector Normalization::deShift(vector timeSeria){ if (timeSeriaShiftValue < 0){ for (int i = 0; i < timeSeria.size(); i++){ timeSeria[i] -= timeSeriaShiftValue; } } return timeSeria; } vector Normalization::normalizeTimeSeria(vector timeSeria){ shift(timeSeria); maxTimePoint = timeSeria[0]; for (int i = 0; i < timeSeria.size(); i++){ if (timeSeria[i] > maxTimePoint) maxTimePoint = timeSeria[i]; } for (int i = 0; i < timeSeria.size(); i++){ timeSeria[i] /= maxTimePoint; } return timeSeria; } vector Normalization::deNormalizeTimeSeria(vector timeSeria){ //shift(timeSeria); for (int i = 0; i < timeSeria.size(); i++){ timeSeria[i] *= maxTimePoint; } timeSeria = deShift(timeSeria); return timeSeria; }