fuzzylite  6.0
A Fuzzy Logic Control Library in C++
fl::Centroid Class Reference

The Centroid class is an IntegralDefuzzifier that computes the centroid of a fuzzy set represented in a Term. More...

#include <Centroid.h>

Inheritance diagram for fl::Centroid:
Collaboration diagram for fl::Centroid:

Public Member Functions

 Centroid (int resolution=defaultResolution())
 
virtual ~Centroid () FL_IOVERRIDE
 
virtual std::string className () const FL_IOVERRIDE
 Returns the name of the class of the defuzzifier. More...
 
virtual Complexity complexity (const Term *term) const FL_IOVERRIDE
 Computes the complexity of defuzzifying the given term. More...
 
virtual scalar defuzzify (const Term *term, scalar minimum, scalar maximum) const FL_IOVERRIDE
 Computes the centroid of a fuzzy set. More...
 
virtual Centroidclone () const FL_IOVERRIDE
 Creates a clone of the defuzzifier. More...
 
- Public Member Functions inherited from fl::IntegralDefuzzifier
 IntegralDefuzzifier (int resolution=defaultResolution())
 
virtual ~IntegralDefuzzifier () FL_IOVERRIDE
 
virtual void setResolution (int resolution)
 Sets the resolution of the defuzzifier. More...
 
virtual int getResolution () const
 Gets the resolution of the defuzzifier. More...
 
- Public Member Functions inherited from fl::Defuzzifier
 Defuzzifier ()
 
virtual ~Defuzzifier ()
 

Static Public Member Functions

static Defuzzifierconstructor ()
 
- Static Public Member Functions inherited from fl::IntegralDefuzzifier
static void setDefaultResolution (int defaultResolution)
 Sets the default resolution for integral-based defuzzifiers. More...
 
static int defaultResolution ()
 Gets the default resolution for integral-based defuzzifiers. More...
 

Detailed Description

The Centroid class is an IntegralDefuzzifier that computes the centroid of a fuzzy set represented in a Term.

Author
Juan Rada-Vilela, Ph.D.
See also
BiSector
IntegralDefuzzifier
Defuzzifier
Since
4.0

Definition at line 34 of file Centroid.h.

Constructor & Destructor Documentation

◆ Centroid()

fl::Centroid::Centroid ( int  resolution = defaultResolution())
explicit

◆ ~Centroid()

virtual fl::Centroid::~Centroid ( )
virtual

Member Function Documentation

◆ className()

virtual std::string fl::Centroid::className ( ) const
virtual

Returns the name of the class of the defuzzifier.

Returns
the name of the class of the defuzzifier

Implements fl::Defuzzifier.

◆ clone()

virtual Centroid* fl::Centroid::clone ( ) const
virtual

Creates a clone of the defuzzifier.

Returns
a clone of the defuzzifier

Implements fl::Defuzzifier.

◆ complexity()

virtual Complexity fl::Centroid::complexity ( const Term term) const
virtual

Computes the complexity of defuzzifying the given term.

Parameters
termis the term to defuzzify
Returns
the complexity of defuzzifying the given term

Implements fl::Defuzzifier.

◆ constructor()

static Defuzzifier* fl::Centroid::constructor ( )
static

◆ defuzzify()

virtual scalar fl::Centroid::defuzzify ( const Term term,
scalar  minimum,
scalar  maximum 
) const
virtual

Computes the centroid of a fuzzy set.

The defuzzification process integrates over the fuzzy set utilizing the boundaries given as parameters. The integration algorithm is the midpoint rectangle method (https://en.wikipedia.org/wiki/Rectangle_method).

Parameters
termis the fuzzy set
minimumis the minimum value of the fuzzy set
maximumis the maximum value of the fuzzy set
Returns
the \(x\)-coordinate of the centroid of the fuzzy set

Implements fl::Defuzzifier.


The documentation for this class was generated from the following file: