#ifndef TSAUR_H #define TSAUR_H #include #include "Method.h" #include "A.h" using namespace std; class Tsaur : 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; double lb1; double rb1; double lb2; double rb2; void defineUniversum(); // определить униерсум для параметров A fuzzyfication(double); double defuzzyfication(A); vector defuzzyfication(vector); A minusSet(A, A); A numMinusSet(double, A); A plusSet(A, A); A divSet(A, A); A divSet(A, double); A multSet(A, A); A multSetNum(double, A); public: Tsaur(vector, int); ~Tsaur(void); vector getForecast(); void init(); void createModel(); void createModelForEstimation(); void setParam(string, double); double calcEstimation(Aic *); Param* optimize(Estimation *); // метод оптимизации одного параметра }; #endif