IRIS::Fuzzy::pSigMF Class Reference

#include <pSigMF.h>

Inheritance diagram for IRIS::Fuzzy::pSigMF:

Inheritance graph
[legend]
Collaboration diagram for IRIS::Fuzzy::pSigMF:

Collaboration graph
[legend]
List of all members.

Public Types

typedef pair< double, double > interval
typedef std::vector< double > parm_list
 type for list of parameters
typedef vector< double > vector
 type for the vectorized form of this member function

Public Member Functions

 pSigMF (double a=0, double b=0, double c=0, double d=0)
 pSigMF (const string &name, double a=0, double b=0, double c=0, double d=0, double min=0, double max=0)
 pSigMF (const MembershipFn::parm_list &parm)
 ~pSigMF ()
 destroy a membership function by releasing unneeded memory
void set (double a=0, double b=0, double c=0, double d=0)
virtual void discretize (unsigned degree)
void get (double &a, double &b, double &c, double &d)
virtual double eval (double x) const
virtual double operator() (double val) const
virtual void draw () const
void set (const string &name, double min, double max)
void set (double newMin, double newMax)
void set (unsigned i, double val)
void set (const string &name)
void setMin (double newMin)
void setMax (double newMax)
void clear ()
 clears out a membership function
void get (string &name, double &min, double &max) const
void get (double &min, double &max) const
interval get () const
 get the range of this set, described as an interval
double get (unsigned i)
 gets the value of the ith parameter
void get (string &name) const
double getMin () const
 get the lower bound of the range of this set
double getMax () const
 get the upper bound of the range of this set
interval dom () const
double & operator[] (unsigned i)
 sets the ith item in the vector of the member function
double operator[] (unsigned i) const
 gets the ith item in the vector of the member function
vector getVector () const
void setName (const string &name)
string getName () const
 get the name of this set

Static Public Attributes

static const unsigned NUM_PARMS = 4
 this type of membership function needs four parameters

Protected Attributes

interval range
parm_list parameter
vector x
string name

Detailed Description

(Standard) product of two sigmoidally-shaped membership functions


Member Typedef Documentation

typedef pair<double,double> IRIS::Fuzzy::MembershipFn::interval [inherited]
 

describe an interval as a pair indicating a lower bound and an upper bound

typedef std::vector<double> IRIS::Fuzzy::MembershipFn::parm_list [inherited]
 

type for list of parameters

typedef vector<double> IRIS::Fuzzy::Numeric::vector [inherited]
 

type for the vectorized form of this member function


Constructor & Destructor Documentation

IRIS::Fuzzy::pSigMF::pSigMF double  a = 0,
double  b = 0,
double  c = 0,
double  d = 0
 

create a sigmoidal membership function based on the given parameters a and b; default is a "zero" sigmoidal membership function

Parameters:
a first parameter for first sigmoid function
b second parameter for first sigmoid function
c first parameter for second sigmoid function
d second parameter for second sigmoid function

IRIS::Fuzzy::pSigMF::pSigMF const string &  name,
double  a = 0,
double  b = 0,
double  c = 0,
double  d = 0,
double  min = 0,
double  max = 0
 

create a product of two sigmoidally-shaped membership function by naming it, setting parameters, and setting lower- and upper-bounds on its domain of values

Parameters:
name name to give this membership function
a first parameter for first sigmoid function
b second parameter for first sigmoid function
c first parameter for second sigmoid function
d second parameter for second sigmoid function
min lower bound for domain
max upper bound for domain

IRIS::Fuzzy::pSigMF::pSigMF const MembershipFn::parm_list parm  ) 
 

create a trapezoidal membership function based on the given parameter list (with four parameters)

IRIS::Fuzzy::pSigMF::~pSigMF  ) 
 

destroy a membership function by releasing unneeded memory


Member Function Documentation

void IRIS::Fuzzy::MembershipFn::clear  )  [inherited]
 

clears out a membership function

Reimplemented from IRIS::Fuzzy::Numeric.

void IRIS::Fuzzy::pSigMF::discretize unsigned  degree  )  [virtual]
 

Domain range is stored in range (see Set.h)

Figure out step size for x values given the degree of discretization and the range of values in the domain

Implements IRIS::Fuzzy::MembershipFn.

MembershipFn::interval IRIS::Fuzzy::MembershipFn::dom  )  const [inherited]
 

get the domain of this set; same as get()

See also:
get()

void IRIS::Fuzzy::pSigMF::draw  )  const [virtual]
 

draw this set to see what it looks like; included primarily for debugging purposes ...

Reimplemented from IRIS::Fuzzy::MembershipFn.

double IRIS::Fuzzy::pSigMF::eval double  x  )  const [virtual]
 

evaluate a membership function based on the given x

Parameters:
x element of domain of membership function

Implements IRIS::Fuzzy::MembershipFn.

void IRIS::Fuzzy::Set::get string &  name  )  const [inherited]
 

get the name of this set; same as getName()

Parameters:
name name given this set
See also:
getName()

double IRIS::Fuzzy::MembershipFn::get unsigned  i  )  [inherited]
 

gets the value of the ith parameter

MembershipFn::interval IRIS::Fuzzy::MembershipFn::get  )  const [inherited]
 

get the range of this set, described as an interval

void IRIS::Fuzzy::MembershipFn::get double &  min,
double &  max
const [inherited]
 

get the range for this set

Parameters:
min lower bound for range
max upper bound for range

void IRIS::Fuzzy::MembershipFn::get string &  name,
double &  min,
double &  max
const [inherited]
 

get the name and range for this set

Parameters:
name name given to this set
min lower bound for range
max upper bound for range

void IRIS::Fuzzy::pSigMF::get double &  a,
double &  b,
double &  c,
double &  d
 

gets the value of all four parameters

Parameters:
a first parameter for first sigmoid function
b second parameter for first sigmoid function
c first parameter for second sigmoid function
d second parameter for second sigmoid function

double IRIS::Fuzzy::MembershipFn::getMax  )  const [inherited]
 

get the upper bound of the range of this set

double IRIS::Fuzzy::MembershipFn::getMin  )  const [inherited]
 

get the lower bound of the range of this set

string IRIS::Fuzzy::Set::getName  )  const [inherited]
 

get the name of this set

Numeric::vector IRIS::Fuzzy::Numeric::getVector  )  const [inherited]
 

gets the vectorized form of a membership function based on the set level of discretization

double IRIS::Fuzzy::pSigMF::operator() double  val  )  const [virtual]
 

evaluate membership of the given value in this set

Parameters:
val value to use when evaluating this set

Implements IRIS::Fuzzy::MembershipFn.

double IRIS::Fuzzy::Numeric::operator[] unsigned  i  )  const [inherited]
 

gets the ith item in the vector of the member function

double & IRIS::Fuzzy::Numeric::operator[] unsigned  i  )  [inherited]
 

sets the ith item in the vector of the member function

void IRIS::Fuzzy::Set::set const string &  name  )  [inherited]
 

set the name for this set; same as setName()

Parameters:
name name to give this set
See also:
setName()

void IRIS::Fuzzy::MembershipFn::set unsigned  i,
double  val
[inherited]
 

sets the ith parameter for this member function to val

Parameters:
i parameter number: based on type of membership function
val new value of ith parameter

void IRIS::Fuzzy::MembershipFn::set double  newMin,
double  newMax
[inherited]
 

set the range for this set

Parameters:
newMin new lower bound for range
newMax new upper bound for range

Reimplemented in IRIS::Fuzzy::GaussMF, IRIS::Fuzzy::SigMF, and IRIS::Fuzzy::ZMF.

void IRIS::Fuzzy::MembershipFn::set const string &  name,
double  min,
double  max
[inherited]
 

set the name and range for this set

Parameters:
name name to give this set
min lower bound for range
max upper bound for range

void IRIS::Fuzzy::pSigMF::set double  a = 0,
double  b = 0,
double  c = 0,
double  d = 0
 

sets the four parameters of this member function to a, b, c, and d

Parameters:
a first parameter for first sigmoid function
b second parameter for first sigmoid function
c first parameter for second sigmoid function
d second parameter for second sigmoid function

void IRIS::Fuzzy::MembershipFn::setMax double  newMax  )  [inherited]
 

set the upper bound for the range for this set

Parameters:
newMax new upper bound for range

void IRIS::Fuzzy::MembershipFn::setMin double  newMin  )  [inherited]
 

set the lower bound for the range for this set

Parameters:
newMin new lower bound for range

void IRIS::Fuzzy::Set::setName const string &  name  )  [inherited]
 

set the name for this set

Parameters:
name name to give this set


Member Data Documentation

string IRIS::Fuzzy::Set::name [protected, inherited]
 

const unsigned IRIS::Fuzzy::pSigMF::NUM_PARMS = 4 [static]
 

this type of membership function needs four parameters

parm_list IRIS::Fuzzy::MembershipFn::parameter [protected, inherited]
 

interval IRIS::Fuzzy::MembershipFn::range [protected, inherited]
 

vector IRIS::Fuzzy::Numeric::x [protected, inherited]
 


The documentation for this class was generated from the following files:
Generated on Tue Dec 12 13:42:38 2006 for IRIS Intelligent Systems Tools by  doxygen 1.4.6