The GaussianProduct class is an extended Term that represents the two-sided Gaussian membership function. More...
#include <GaussianProduct.h>
Public Member Functions | |
GaussianProduct (const std::string &name="", scalar meanA=fl::nan, scalar standardDeviationA=fl::nan, scalar meanB=fl::nan, scalar standardDeviationB=fl::nan, scalar height=1.0) | |
virtual | ~GaussianProduct () 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 |
Provides 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 | setMeanA (scalar meanA) |
Sets the mean of the first Gaussian curve. More... | |
virtual scalar | getMeanA () const |
Gets the mean of the first Gaussian curve. More... | |
virtual void | setStandardDeviationA (scalar standardDeviationA) |
Sets the standard deviation of the first Gaussian curve. More... | |
virtual scalar | getStandardDeviationA () const |
Gets the standard deviation of the first Gaussian curve. More... | |
virtual void | setMeanB (scalar meanB) |
Sets the mean of the second Gaussian curve. More... | |
virtual scalar | getMeanB () const |
Gets the mean of the second Gaussian curve. More... | |
virtual void | setStandardDeviationB (scalar standardDeviationB) |
Sets the standard deviation of the second Gaussian curve. More... | |
virtual scalar | getStandardDeviationB () const |
Gets the standard deviation of the second Gaussian curve. More... | |
virtual GaussianProduct * | 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 GaussianProduct class is an extended Term that represents the two-sided Gaussian membership function.
Definition at line 35 of file GaussianProduct.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 "meanA standardDeviationA meanB
standardDeviationB [height]" |
Implements fl::Term.
|
static |
|
virtual |
Gets the mean of the first Gaussian curve.
|
virtual |
Gets the mean of the second Gaussian curve.
|
virtual |
Gets the standard deviation of the first Gaussian curve.
|
virtual |
Gets the standard deviation of the second Gaussian curve.
Computes the membership function evaluated at \(x\).
x |
where \(h\) is the height of the Term, \(\mu_a\) is the mean of the first GaussianProduct, \(\sigma_a\) is the standard deviation of the first GaussianProduct, \(\mu_b\) is the mean of the second GaussianProduct, \(\sigma_b\) is the standard deviation of the second GaussianProduct, \(i=\begin{cases}1 & \mbox{if $x \leq \mu_a$} \cr 0 &\mbox{otherwise}\end{cases}\), \(j=\begin{cases}1 & \mbox{if $x \geq \mu_b$} \cr 0 &\mbox{otherwise}\end{cases}\)
Implements fl::Term.
|
virtual |
Provides the parameters of the term.
"meanA standardDeviationA meanB standardDeviationB [height]"
Implements fl::Term.
|
virtual |
Sets the mean of the first Gaussian curve.
meanA | is the mean of the first Gaussian curve |
|
virtual |
Sets the mean of the second Gaussian curve.
meanB | is the mean of the second Gaussian curve |
|
virtual |
Sets the standard deviation of the first Gaussian curve.
standardDeviationA | is the standard deviation of the first Gaussian curve |
|
virtual |
Sets the standard deviation of the second Gaussian curve.
standardDeviationB | is the standard deviation of the second Gaussian curve |