#ifndef FUZZYWITHSETS_H #define FUZZYWITHSETS_H #include #include "A.h" #include "Method.h" #include "Param.h" using namespace std; class FuzzyWithSets : public Method { private: vector a; // набор функций принадлежности int countFuzzyParts;// количество интервалов универсума double universumMin; double universumMax; vector fuzzyTs; // нечеткий временной ряд vector fuzzyForecast; // нечеткий временной ряд double w; string trendType; string seasonType; double alpha; // параметр сглаживания double gamma; // параметр сглаживания тренда double delta; // параметр сглаживания сезонной компоненты int p; // период сезонности double phi; // параметр демпинга vector S; // сглаженный данным методом ряд vector I; vector T; void defineUniversum(); // определить униерсум для временного ряда A fuzzyfication(double); double defuzzyfication(A); vector defuzzyfication(vector); A minusSet(A, A); A plusSet(A, A); A divSet(A, A); A divSet(A, double); A multSet(A, A); A multSetNum(double, A); public: FuzzyWithSets(string, string, vector, int); ~FuzzyWithSets(void); vector getForecast(); void init(); void createModel(); void createModelForEstimation(); void setParam(string, double); double calcEstimation(Aic *); Param* optimize(Estimation *); // метод оптимизации одного параметра int getNamberParam(); }; #endif