#include <FuzzySet.h>
List of all members.
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.
|
| Int | m_iResolution |
| | Resolution of the set.
|
Detailed Description
This class defines a fuzzy set and all operators used to modify and transform the set. The set is used together with the TFuzzyLogic.
Member Enumeration Documentation
Enumeration to spezify the way how to calculate the defuzzification
- Enumerator:
| etCenterOfGrapvity |
Gets the defuzzification value as the center of gravity
|
| etIndexedCenterOfGravity |
Gets the defuzzification value as the center of gravity
|
| etCenterOfSums |
Gets the defuzzification value as the center of the sum
|
| etFirstOfMaximum |
Gets the defuzzification value as the first maximum value
|
| etMiddleOfMaximum |
Gets the defuzzification value as the middle of all maximum values
|
| etLastOfMaximum |
Gets the defuzzification value as the last maximum value
|
Enumeration to specify the way how the fuzzy set will be computed
- Enumerator:
| etZadeh |
Uses the connectivities of Zadeh
|
| etProdConnect |
Uses the product connectivities
|
| etLukasiewiez |
Uses the multi value logic of Lukasiewiez
|
| etYager |
Uses the connectivities of Yager
|
Constructor & Destructor Documentation
| TFuzzySet::TFuzzySet |
( |
Int |
iResolution = 100 ) |
|
Creates a fuzzy set
- Parameters:
-
| res | : Resolution of the set. |
| TFuzzySet::TFuzzySet |
( |
const TFuzzySet & |
set ) |
|
Copy constructor of the fuzzy set
- Parameters:
-
| TFuzzySet::~TFuzzySet |
( |
) |
[virtual] |
Member Function Documentation
| TFuzzySet TFuzzySet::concentrate |
( |
) |
const [virtual] |
Operator to concentrate a fuzzy set
- Returns:
- concentrated set
| TFuzzySet TFuzzySet::dilate |
( |
) |
const [virtual] |
Operator to dilate a fuzzy set
- Returns:
- dilated set
| Float TFuzzySet::getDefuzzificationValue |
( |
EDefuzzyMethod |
eMethod = etCenterOfGrapvity, |
|
|
const Float & |
rfParam = 1.0 |
|
) |
| const [virtual] |
Gets a defuzzificated value
- Parameters:
-
| eMethod | : Method tu use to get the defuzzification value |
| rfParam | : used for dmIndexedCenterOfGravity as a threshold |
- Returns:
- defuzzificated value
| Float TFuzzySet::getMemberShip |
( |
const Float & |
rfX ) |
const |
Gets the membership of a value. The variable x must be between 0 and 1.
- Parameters:
-
- Returns:
- membership
| Int zeus::TFuzzySet::getResolution |
( |
) |
const [inline] |
Returns the resolution of a fuzzy set
- Returns:
- Resolution
| Float zeus::TFuzzySet::getValue |
( |
Int |
iIndex ) |
const [inline] |
Gets the value of the fuzzy set at position index
- Parameters:
-
- Returns:
- value
| 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.
- Parameters:
-
| rfX1 | : Beginning of the positive slope |
| rfX2 | : End of the positive slope |
| rfX3 | : Beginning of the negative slope |
| rfX4 | : End of the negative slope |
| TFuzzySet TFuzzySet::intense |
( |
) |
const [virtual] |
Operator to intense a fuzzy set
- Returns:
- intensed set
Creates the intersection of two fuzzy sets (1st set is this, 2nd set is [set]
- Parameters:
-
| set | : 2nd set |
| eNorm | : Norm how to get the intersection of two sets |
| rfParam | : Used by the norm fnYager |
- Returns:
- new Fuzzy set
| TFuzzySet TFuzzySet::lingLess |
( |
) |
const [virtual] |
Linguistic modifier LESS of a fuzzy set
| TFuzzySet TFuzzySet::lingMore |
( |
) |
const [virtual] |
Linguistic modifier MORE of a fuzzy set
| TFuzzySet zeus::TFuzzySet::lingMoreOrLess |
( |
) |
const [inline, virtual] |
Linguistic modifier MOR OR LESS of a fuzzy set
| TFuzzySet zeus::TFuzzySet::lingNotVery |
( |
) |
const [inline, virtual] |
Linguistic modifier NOT VERY of a fuzzy set
| TFuzzySet zeus::TFuzzySet::lingVery |
( |
) |
const [inline, virtual] |
Linguistic modifier VERY of a fuzzy set
| TFuzzySet zeus::TFuzzySet::lingVeryVery |
( |
) |
const [inline, virtual] |
Linguistic modifier VERY VERY of a fuzzy set
| TFuzzySet TFuzzySet::notS |
( |
) |
const [virtual] |
Operator to get the inverse of this set
- Returns:
- inverse set
Copy operator
- Parameters:
-
- Returns:
- the copied set
| bool TFuzzySet::operator== |
( |
const TFuzzySet & |
set ) |
const |
Equals operator
- Parameters:
-
| set | : Set to check if equal |
- Return values:
-
| true | : Set is equal |
| false | : Set is not equal |
| void zeus::TFuzzySet::setValue |
( |
Int |
iIndex, |
|
|
const Float & |
rfValue |
|
) |
| [inline] |
Sets a new value to the fuzzy set
- Parameters:
-
| iIndex | : Index of the value |
| rfValue | : new value |
| Float TFuzzySet::sum |
( |
) |
const [protected] |
Gets the sum of the Fuzzy Set
- Returns:
- sum
Creates the union of two fuzzy sets (1st set is this, 2nd set is [set]
- Parameters:
-
| set | : 2nd set |
| eNorm | : Norm how to get the union |
| rfParam,: | used by the norm fnYager |
- Returns:
- new Fuzzy set
Member Data Documentation
The documentation for this class was generated from the following files: