#include <fuzzyobj.h>
Public Member Functions | |
cFuzzyObj () | |
Konstruktor fuzzyregulatora. | |
~cFuzzyObj () | |
void | SetSamples (int samples1) |
Nastavy pocet vzoriek, ktore maju byt na intervale. | |
void | AddInput (float min1, float max1) |
Zadefinuje mnozinu fuzzygroup pre vstupne fuzzy mnoziny na rovnakom intervale. | |
void | AddOutput (float min1, float max1) |
Zadefinuje mnozinu fuzzygroup pre vystupne fuzzy mnoziny na rovnakom intervale. | |
void | AddInputMF (int inputgroup1,...) |
Prida fuzzy mnozinu do zvolenej vstupnej fuzzygroup. | |
void | AddOutputMF (int outputgroup1,...) |
Prida fuzzy mnozinu do zvolenej vystupnej fuzzygroup. | |
void | AddRule (int outputgroup1,...) |
Prida pravidlo do regulatora. | |
float | CountResult (int outputgroup1, int method, int ops,...) |
Vyhodnoti vystup z regulatora na zaklade vlozenych vstupov. | |
Data Fields | |
int | inputs |
uchovava pocet vstupnych fuzzygroup (lingvistickych premennych ) | |
int | outputs |
uchovava pocet vystupnych fuzzygroup (lingvistickych premennych) | |
int | rules |
uchovava pocet pridanych pravidiel | |
int | samples |
urcuje pocet samplov na intervale | |
fuzzygroup ** | input |
reprezentuje pole ukazovatelov na fuzzygroup-y | |
fuzzygroup ** | output |
reprezentuje pole ukazovatelov na fuzzygroup-y | |
fuzzyrule ** | rule |
reprezentuje pole ukazovatelov na pravydla fuzzyrule |
Umonuuje na stavit vstupne a vystupne mnoziny. Poskytuje metody na ziskanie vystupu.
Definition at line 20 of file fuzzyobj.h.
cFuzzyObj::cFuzzyObj | ( | ) |
cFuzzyObj::~cFuzzyObj | ( | ) |
void cFuzzyObj::SetSamples | ( | int | samples1 | ) |
Nastavy pocet vzoriek, ktore maju byt na intervale.
samples1 | pocet vzoriek |
Definition at line 22 of file fuzzyobj.cpp.
References samples.
Referenced by Player::kickToScore().
void cFuzzyObj::AddInput | ( | float | min1, | |
float | max1 | |||
) |
Zadefinuje mnozinu fuzzygroup pre vstupne fuzzy mnoziny na rovnakom intervale.
min1 | spodna hranica intervalu | |
max1 | horna hranica intervalu |
Definition at line 26 of file fuzzyobj.cpp.
References input, inputs, and samples.
Referenced by Player::kickToScore().
void cFuzzyObj::AddOutput | ( | float | min1, | |
float | max1 | |||
) |
Zadefinuje mnozinu fuzzygroup pre vystupne fuzzy mnoziny na rovnakom intervale.
min1 | spodna hranica intervalu | |
max1 | horna hranica intervalu |
Definition at line 32 of file fuzzyobj.cpp.
References output, outputs, and samples.
Referenced by Player::kickToScore().
void cFuzzyObj::AddInputMF | ( | int | inputgroup1, | |
... | ||||
) |
Prida fuzzy mnozinu do zvolenej vstupnej fuzzygroup.
inputgroup1 | je to index fuzzygroupy, do ktorej sa ma pridat prislusna fuzzy mnozina. Tento index suhlasi s poradim pridavania fuzzygroup do regulatora. Indexovat sa zacina od 0. | |
... | ďalsim parametrom je typ charakteristickej funkcie pre fuzzy mnozinu | |
... | ďalsimi parametrami su hodony na intervale <min1, max1> pre vytvorenie konkretnej charakteristickej funkcie. |
Definition at line 38 of file fuzzyobj.cpp.
References fuzzygroup::addfuzzy(), FZ_CONST, FZ_LEFT, FZ_RIGHT, FZ_TRAPEZOID, FZ_TRIANGLE, FZ_WELL, input, fuzzygroup::mf, fuzzygroup::mfs, fuzzy::setconst(), fuzzy::setleft(), fuzzy::setright(), fuzzy::settrapezoid(), fuzzy::settriangle(), and fuzzy::setwell().
Referenced by Player::kickToScore().
void cFuzzyObj::AddOutputMF | ( | int | outputgroup1, | |
... | ||||
) |
Prida fuzzy mnozinu do zvolenej vystupnej fuzzygroup.
outputgroup1 | je to index fuzzygroupy, do ktorej sa ma pridat prislusna fuzzy mnozina. Tento index suhlasi s poradim pridavania fuzzygroup do regulatora. Indexovat sa zacina od 0. | |
... | ďalsim parametrom je typ charakteristickej funkcie pre fuzzy mnozinu | |
... | ďalsimi parametrami su hodony na intervale <min1, max1> pre vytvorenie konkretnej charakteristickej funkcie. |
Definition at line 90 of file fuzzyobj.cpp.
References fuzzygroup::addfuzzy(), FZ_CONST, FZ_LEFT, FZ_RIGHT, FZ_TRAPEZOID, FZ_TRIANGLE, fuzzygroup::mf, fuzzygroup::mfs, output, fuzzy::setconst(), fuzzy::setleft(), fuzzy::setright(), fuzzy::settrapezoid(), and fuzzy::settriangle().
Referenced by Player::kickToScore().
void cFuzzyObj::AddRule | ( | int | outputgroup1, | |
... | ||||
) |
Prida pravidlo do regulatora.
Okrem parametra outputgroup1 je potrebne zadat aj ďalsie parametre. Ich pocet je urceny:
outputgroup1 | urcuje index vystupnej fuzzygroup-y. |
Definition at line 134 of file fuzzyobj.cpp.
References inputs, rule, rules, fuzzyrule::setoutput(), and fuzzyrule::setoutputgroup().
Referenced by Player::kickToScore().
float cFuzzyObj::CountResult | ( | int | outputgroup1, | |
int | method, | |||
int | ops, | |||
... | ||||
) |
Vyhodnoti vystup z regulatora na zaklade vlozenych vstupov.
Okrem parametrov outputgroup1, method, ops, su potrebne aj parametre vstupnych hodnot pre fuzzy regulator. Ich pocet je zhodny s poctom vstupnych fuzzygroup (lingvistickych premennych).
outputgroup1 | fuzzygroup-a (lingvisticka premenna), ktora nas zaujima. Napriklad sila. | |
method | metoda defuzifikacie | |
ops | typ aplikovanej logiky | |
... | ostatne parametre |
Definition at line 152 of file fuzzyobj.cpp.
References andl(), andp(), andz(), fuzzy::bisector(), fuzzy::centroid(), DFZ_BISECTOR, DFZ_CENTROID, DFZ_HOM, DFZ_LOM, DFZ_MOM, fuzzy::hom(), input, fuzzyrule::inputs, inputs, fuzzy::lom(), max(), fuzzygroup::mf, min(), fuzzy::mom(), OPS_LARSEN, OPS_LUKASIEWITZ, OPS_ZADEH, fuzzyrule::output, output, rule, rules, samples, fuzzy::setandl(), fuzzy::setandp(), fuzzy::setandz(), fuzzy::setconst(), and fuzzy::setorz().
Referenced by Player::kickToScore().
uchovava pocet vstupnych fuzzygroup (lingvistickych premennych )
Definition at line 25 of file fuzzyobj.h.
Referenced by AddInput(), AddRule(), cFuzzyObj(), CountResult(), and ~cFuzzyObj().
uchovava pocet vystupnych fuzzygroup (lingvistickych premennych)
Definition at line 26 of file fuzzyobj.h.
Referenced by AddOutput(), cFuzzyObj(), and ~cFuzzyObj().
int cFuzzyObj::rules |
uchovava pocet pridanych pravidiel
Definition at line 27 of file fuzzyobj.h.
Referenced by AddRule(), cFuzzyObj(), CountResult(), and ~cFuzzyObj().
urcuje pocet samplov na intervale
Definition at line 28 of file fuzzyobj.h.
Referenced by AddInput(), AddOutput(), CountResult(), and SetSamples().
reprezentuje pole ukazovatelov na fuzzygroup-y
Definition at line 30 of file fuzzyobj.h.
Referenced by AddInput(), AddInputMF(), cFuzzyObj(), CountResult(), and ~cFuzzyObj().
reprezentuje pole ukazovatelov na fuzzygroup-y
Definition at line 31 of file fuzzyobj.h.
Referenced by AddOutput(), AddOutputMF(), cFuzzyObj(), CountResult(), and ~cFuzzyObj().
reprezentuje pole ukazovatelov na pravydla fuzzyrule
Definition at line 32 of file fuzzyobj.h.
Referenced by AddRule(), cFuzzyObj(), CountResult(), and ~cFuzzyObj().