The SigmoidProduct class is an extended Term that represents the product of two sigmoidal membership functions. More...
#include <SigmoidProduct.h>
Public Member Functions | |
SigmoidProduct (const std::string &name="", scalar left=fl::nan, scalar rising=fl::nan, scalar falling=fl::nan, scalar right=fl::nan, scalar height=1.0) | |
virtual | ~SigmoidProduct () 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. More... | |
virtual void | configure (const std::string ¶meters) FL_IOVERRIDE |
Configures the term with the parameters. 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 void | setLeft (scalar leftInflection) |
Sets the inflection of the left sigmoidal curve. More... | |
virtual scalar | getLeft () const |
Gets the inflection of the left sigmoidal curve. More... | |
virtual void | setRising (scalar risingSlope) |
Sets the slope of the left sigmoidal curve. More... | |
virtual scalar | getRising () const |
Gets the slope of the left sigmoidal curve. More... | |
virtual void | setFalling (scalar fallingSlope) |
Sets the slope of the right sigmoidal curve. More... | |
virtual scalar | getFalling () const |
Gets the slope of the right sigmoidal curve. More... | |
virtual void | setRight (scalar rightInflection) |
Sets the inflection of the right sigmoidal curve. More... | |
virtual scalar | getRight () const |
Gets the inflection of the right sigmoidal curve. More... | |
virtual SigmoidProduct * | clone () 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 Term * | constructor () |
Additional Inherited Members | |
Protected Attributes inherited from fl::Term | |
scalar | _height |
The SigmoidProduct class is an extended Term that represents the product of two sigmoidal membership functions.
Definition at line 35 of file SigmoidProduct.h.
|
explicit |
|
virtual |
|
virtual |
Returns the name of the class of the term.
Implements fl::Term.
|
virtual |
|
virtual |
Computes the estimated complexity of evaluating the membership function.
Implements fl::Term.
|
virtual |
Configures the term with the parameters.
parameters | as "left rising falling right [height]" |
Implements fl::Term.
|
static |
|
virtual |
Gets the slope of the right sigmoidal curve.
|
virtual |
Gets the inflection of the left sigmoidal curve.
|
virtual |
Gets the inflection of the right sigmoidal curve.
|
virtual |
Gets the slope of the left sigmoidal curve.
Computes the membership function evaluated at \(x\).
x |
where \(h\) is the height, \(a= 1 / (1 + \exp(-s_l *\times (x - i_l))) \), \(b = 1 / (1 + \exp(-s_r \times (x - i_r)))\), \(i_l\) is the left inflection of the SigmoidProduct, \(s_l\) is the left slope of the SigmoidProduct, \(i_r\) is the right inflection of the SigmoidProduct, \(s_r\) is the right slope of the SigmoidProduct
Implements fl::Term.
|
virtual |
Returns the parameters of the term.
"left rising falling right [height]"
Implements fl::Term.
|
virtual |
Sets the slope of the right sigmoidal curve.
fallingSlope | is the slope of the right sigmoidal curve |
|
virtual |
Sets the inflection of the left sigmoidal curve.
leftInflection | is the inflection of the left sigmoidal curve |
|
virtual |
Sets the inflection of the right sigmoidal curve.
rightInflection | is the inflection of the right sigmoidal curve |
|
virtual |
Sets the slope of the left sigmoidal curve.
risingSlope | is the slope of the left sigmoidal curve |