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.

BiSector
IntegralDefuzzifier
Defuzzifier
Since
4.0

Definition at line 34 of file Centroid.h.

## ◆ Centroid()

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

## ◆ ~Centroid()

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

## ◆ 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
 term is 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
 term is the fuzzy set minimum is the minimum value of the fuzzy set maximum is 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: