#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);
CNFSetLR
. The possible variables and their default
values are:
(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.
In addition to the member functions required by CNCL, CNFSetLR
provides:
typedef double (*CNFuncType)(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 first, previous, next, last section, table of contents.