Go to the previous, next section.
#include <FuzzyLib/FSetLR.h>
Fl_FSETLR
FlFSet
FlFSetTrapez
None
FlFSetLR provides the LR-representation of fuzzy sets. At this
representation, the interval [xm1, xm2] is considered to have the
maximum membership value ( 1 if normalized ), the left (L) and right (R)
approach is described by a shape function. Additionally, a left (alpha)
and a right (beta) slope is defined, thus the whole membership function
is:
L ( (xm1 - x) / alpha ) for x <= xm1
max (1 if normalized) for xm1 <= x <= xm2
R ( (x - xm2) / beta ) for x >= xm2
Constructors:
FlFSetLR();
FlFSetLR(FlParam *param);
FlFSetLR(double xm1, double xm2, double xalpha, double xbeta, FlFuncType fL, FlFuncType fR);
FlFSetLR(double min, double max, double xm1, double xm2, double xalpha, double xbeta,
FlFuncType fL, FlFuncType fR);
FlFSetLR(FlStringR xname, double min, double max, double xm1, double xm2
double xalpha, double xbeta, FlFuncType fL, FlFuncType fR);
FlFSetLR(FlStringR xname, double xm1, double xm2, double xalpha, double xbeta,
FlFuncType fL, FlFuncType fR);
Initializes FlFSetLR. The possible variables and their default
values are:
left/right maximum (xm1,xm2) (0,0), the left/right slope
(alpha,beta) (0,0), the left/right function (fL,fR)
(FlFuncLin,FlFuncLin) and the values for the named FlFSet
xname,min,max with the according default settings of that class.
FlFSetLR
provides:
typedef double (*FlFuncType)(double x);
double FlFuncExp (double x);
double FlFuncExp2(double x);
double FlFuncLin (double x);
double FlFuncSqr (double x);
double FlFuncHyp (double x);
double FlFuncHyp2(double x);
virtual double get_membership(double x) const;
x.
double get_m1() const;
m1 (left maximum).
double get_m2() const;
m2 (right maximum).
double get_alpha() const;
alpha (left slope).
double get_beta() const;
beta (right slope).
Go to the previous, next section.