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

The Concave class is an edge Term that represents the concave membership function. More...

#include <Concave.h>

Inheritance diagram for fl::Concave:
Collaboration diagram for fl::Concave:

Public Member Functions

 Concave (const std::string &name="", scalar inflection=fl::nan, scalar end=fl::nan, scalar height=1.0)
 
virtual ~Concave () FL_IOVERRIDE
 
virtual std::string className () const FL_IOVERRIDE
 Returns the name of the class of the term. More...
 
virtual std::string parameters () const FL_IOVERRIDE
 Returns the parameters of the term as. More...
 
virtual void configure (const std::string &parameters) FL_IOVERRIDE
 Configures the term with the parameters given. More...
 
virtual Complexity complexity () const FL_IOVERRIDE
 Computes the estimated complexity of evaluating the membership function. More...
 
virtual scalar membership (scalar x) const FL_IOVERRIDE
 Computes the membership function evaluated at \(x\). More...
 
virtual scalar tsukamoto (scalar activationDegree, scalar minimum, scalar maximum) const FL_IOVERRIDE
 
virtual bool isMonotonic () const FL_IOVERRIDE
 
virtual void setInflection (scalar inflection)
 Sets the inflection of the curve. More...
 
virtual scalar getInflection () const
 Gets the inflection of the curve. More...
 
virtual void setEnd (scalar end)
 Sets the end of the curve. More...
 
virtual scalar getEnd () const
 Gets the end of the curve. More...
 
virtual Concaveclone () const FL_IOVERRIDE
 Creates a clone of the term. More...
 
- Public Member Functions inherited from fl::Term
 Term (const std::string &name="", scalar height=1.0)
 
virtual ~Term ()
 
virtual void setName (const std::string &name)
 Sets the name of the term. More...
 
virtual std::string getName () const
 Gets the name of the term. More...
 
virtual void setHeight (scalar height)
 Sets the height of the term. More...
 
virtual scalar getHeight () const
 Gets the height of the term. More...
 
virtual std::string toString () const
 Returns the representation of the term in the FuzzyLite Language. More...
 
virtual void updateReference (const Engine *engine)
 Updates the references (if any) to point to the current engine (useful when cloning engines or creating terms within Importer objects. More...
 

Static Public Member Functions

static Termconstructor ()
 

Additional Inherited Members

- Protected Attributes inherited from fl::Term
scalar _height
 

Detailed Description

The Concave class is an edge Term that represents the concave membership function.

concave.svg
Author
Juan Rada-Vilela, Ph.D.
See also
Term
Variable
Since
5.0

Definition at line 35 of file Concave.h.

Constructor & Destructor Documentation

◆ Concave()

fl::Concave::Concave ( const std::string &  name = "",
scalar  inflection = fl::nan,
scalar  end = fl::nan,
scalar  height = 1.0 
)
explicit

◆ ~Concave()

virtual fl::Concave::~Concave ( )
virtual

Member Function Documentation

◆ className()

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

Returns the name of the class of the term.

Returns
the name of the class of the term

Implements fl::Term.

◆ clone()

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

Creates a clone of the term.

Returns
a clone of the term

Implements fl::Term.

◆ complexity()

virtual Complexity fl::Concave::complexity ( ) const
virtual

Computes the estimated complexity of evaluating the membership function.

Returns
the estimated complexity of evaluating the membership function

Implements fl::Term.

◆ configure()

virtual void fl::Concave::configure ( const std::string &  parameters)
virtual

Configures the term with the parameters given.

Parameters
parametersas "inflection end [height]"

Implements fl::Term.

◆ constructor()

static Term* fl::Concave::constructor ( )
static

◆ getEnd()

virtual scalar fl::Concave::getEnd ( ) const
virtual

Gets the end of the curve.

Returns
the end of the curve

◆ getInflection()

virtual scalar fl::Concave::getInflection ( ) const
virtual

Gets the inflection of the curve.

Returns
the inflection of the curve

◆ isMonotonic()

virtual bool fl::Concave::isMonotonic ( ) const
virtual

◆ membership()

virtual scalar fl::Concave::membership ( scalar  x) const
virtual

Computes the membership function evaluated at \(x\).

Parameters
x
Returns
\(\begin{cases} h \times (e - i) / (2e - i - x) & \mbox{if $i \leq e \wedge x < e$ (increasing concave)} \cr h \times (i - e) / (-2e + i + x) & \mbox{if $i > e \wedge x > e$ (decreasing concave)} \cr h & \mbox{otherwise} \cr \end{cases}\)

where \(h\) is the height of the Term, \(i\) is the inflection of the Concave, \(e\) is the end of the Concave

Implements fl::Term.

◆ parameters()

virtual std::string fl::Concave::parameters ( ) const
virtual

Returns the parameters of the term as.

Returns
"inflection end [height]"

Implements fl::Term.

◆ setEnd()

virtual void fl::Concave::setEnd ( scalar  end)
virtual

Sets the end of the curve.

Parameters
endis the end of the curve

◆ setInflection()

virtual void fl::Concave::setInflection ( scalar  inflection)
virtual

Sets the inflection of the curve.

Parameters
inflectionis the inflection of the curve

◆ tsukamoto()

virtual scalar fl::Concave::tsukamoto ( scalar  activationDegree,
scalar  minimum,
scalar  maximum 
) const
virtual

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