ZeusMath-Library
2.0.4
|
#include <FuzzySet.h>
Public Types | |
enum | EFuzzyNorm { etZadeh, etProdConnect, etLukasiewiez, etYager } |
enum | EDefuzzyMethod { etCenterOfGrapvity, etIndexedCenterOfGravity, etCenterOfSums, etFirstOfMaximum, etMiddleOfMaximum, etLastOfMaximum } |
Public Member Functions | |
TFuzzySet (Int iResolution=100) | |
TFuzzySet (const TFuzzySet &set) | |
virtual | ~TFuzzySet () |
void | initTrapezodial (const Float &rfX1, const Float &rfX2, const Float &rfX3, const Float &rfX4) |
void | initGaussianSyn (const Float &rfA, const Float &rfWhm) |
void | initGaussianAsyn (const Float &rfA, const Float &rfWhm1, const Float &rfWhm2) |
void | initSigmodial (const Float &rfA, const Float &rfB) |
Float | getValue (Int iIndex) const |
Float | getMemberShip (const Float &rfX) const |
Int | getResolution () const |
void | setValue (Int iIndex, const Float &rfValue) |
virtual Float | getDefuzzificationValue (EDefuzzyMethod eMethod=etCenterOfGrapvity, const Float &rfParam=1.0) const |
virtual TFuzzySet | unionS (const TFuzzySet &set, EFuzzyNorm eNorm=etZadeh, const Float &rfParam=1.0) const |
virtual TFuzzySet | intersectS (const TFuzzySet &set, EFuzzyNorm eNorm=etZadeh, const Float &rfParam=1.0) const |
virtual TFuzzySet | notS () const |
virtual TFuzzySet | concentrate () const |
virtual TFuzzySet | dilate () const |
virtual TFuzzySet | intense () const |
virtual TFuzzySet | lingVery () const |
virtual TFuzzySet | lingMoreOrLess () const |
virtual TFuzzySet | lingVeryVery () const |
virtual TFuzzySet | lingNotVery () const |
virtual TFuzzySet | lingMore () const |
virtual TFuzzySet | lingLess () const |
TFuzzySet & | operator= (const TFuzzySet &set) |
bool | operator== (const TFuzzySet &set) const |
Protected Member Functions | |
Float | sum () const |
Protected Attributes | |
TArrayList< Float > | m_lstValues |
Array of Values. More... | |
Int | m_iResolution |
Resolution of the set. More... | |
This class defines a fuzzy set and all operators used to modify and transform the set. The set is used together with the TFuzzyLogic.
Enumeration to spezify the way how to calculate the defuzzification
TFuzzySet::TFuzzySet | ( | Int | iResolution = 100 | ) |
Creates a fuzzy set
res | : Resolution of the set. |
TFuzzySet::TFuzzySet | ( | const TFuzzySet & | set | ) |
Copy constructor of the fuzzy set
set | : Object to copy |
|
virtual |
Destroys the fuzzy set
|
virtual |
Operator to concentrate a fuzzy set
|
virtual |
Operator to dilate a fuzzy set
|
virtual |
Gets a defuzzificated value
eMethod | : Method tu use to get the defuzzification value |
rfParam | : used for dmIndexedCenterOfGravity as a threshold |
Float TFuzzySet::getMemberShip | ( | const Float & | rfX | ) | const |
Gets the membership of a value. The variable x must be between 0 and 1.
rfX | : value |
|
inline |
Returns the resolution of a fuzzy set
|
inline |
Gets the value of the fuzzy set at position index
iIndex | : Value position |
void TFuzzySet::initGaussianAsyn | ( | const Float & | rfA, |
const Float & | rfWhm1, | ||
const Float & | rfWhm2 | ||
) |
Initialises the set using the asynchron gaussian function
void TFuzzySet::initGaussianSyn | ( | const Float & | rfA, |
const Float & | rfWhm | ||
) |
Initialises the set using the synchron gaussian function
void TFuzzySet::initSigmodial | ( | const Float & | rfA, |
const Float & | rfB | ||
) |
Initialises the set using the sigmodial function
void TFuzzySet::initTrapezodial | ( | const Float & | rfX1, |
const Float & | rfX2, | ||
const Float & | rfX3, | ||
const Float & | rfX4 | ||
) |
Initialises the set using the trapezodial function.
rfX1 | : Beginning of the positive slope |
rfX2 | : End of the positive slope |
rfX3 | : Beginning of the negative slope |
rfX4 | : End of the negative slope |
|
virtual |
Operator to intense a fuzzy set
|
virtual |
Creates the intersection of two fuzzy sets (1st set is this, 2nd set is [set]
set | : 2nd set |
eNorm | : Norm how to get the intersection of two sets |
rfParam | : Used by the norm fnYager |
|
virtual |
Linguistic modifier LESS of a fuzzy set
|
virtual |
Linguistic modifier MORE of a fuzzy set
|
inlinevirtual |
Linguistic modifier MOR OR LESS of a fuzzy set
|
inlinevirtual |
Linguistic modifier NOT VERY of a fuzzy set
|
inlinevirtual |
Linguistic modifier VERY of a fuzzy set
|
inlinevirtual |
Linguistic modifier VERY VERY of a fuzzy set
|
virtual |
Operator to get the inverse of this set
Copy operator
set | : Set to copy |
bool TFuzzySet::operator== | ( | const TFuzzySet & | set | ) | const |
Equals operator
set | : Set to check if equal |
true | : Set is equal |
false | : Set is not equal |
|
inline |
Sets a new value to the fuzzy set
iIndex | : Index of the value |
rfValue | : new value |
|
protected |
Gets the sum of the Fuzzy Set
|
virtual |
Creates the union of two fuzzy sets (1st set is this, 2nd set is [set]
set | : 2nd set |
eNorm | : Norm how to get the union |
rfParam | used by the norm fnYager |
|
protected |
Resolution of the set.
|
protected |
Array of Values.