Go to the previous, next section.
#include <CNCL/FSetLR.h>
CN_FSETLR
CNFSet
CNFSetTrapez
None
CNFSetLR
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:
CNFSetLR();
CNFSetLR(CNParam *param);
CNFSetLR(double xm1, double xm2, double xalpha, double xbeta, CNFuncType fL, CNFuncType fR);
CNFSetLR(double min, double max, double xm1, double xm2, double xalpha, double xbeta,
CNFuncType fL, CNFuncType fR);
CNFSetLR(CNStringR xname, double min, double max, double xm1, double xm2
double xalpha, double xbeta, CNFuncType fL, CNFuncType fR);
CNFSetLR(CNStringR xname, double xm1, double xm2, double xalpha, double xbeta,
CNFuncType fL, CNFuncType fR);
Initializes CNFSetLR
. 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)
(CNFuncLin,CNFuncLin) and the values for the named CNFSet
xname,min,max
with the according default settings of that class.
CNFSetLR
provides:
typedef double (*CNFuncType)(double x);
double CNFuncExp (double x);
double CNFuncExp2(double x);
double CNFuncLin (double x);
double CNFuncSqr (double x);
double CNFuncHyp (double x);
double CNFuncHyp2(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.