dSigMF.h

Go to the documentation of this file.
00001 
00023 #ifndef         DSIGMF_H_
00024 # define        DSIGMF_H_
00025 
00026 #include "MembershipFn.h"   // for MembershipFn
00027 
00028 namespace IRIS {
00029 
00030   using namespace std;
00031 
00032   namespace Fuzzy {
00033 
00036     class dSigMF : public MembershipFn
00037     {
00038 
00039       public:
00040 
00042         static const unsigned NUM_PARMS = 4;
00043 
00044     //  CONSTRUCTORS  /////////////////////////////////////////////////////
00045 
00053         dSigMF( double a=0 , double b=0 , double c=0 , double d=0 );
00064         dSigMF( const string& name , 
00065                 double   a=0 , double   b=0 , double c=0 , double d=0 ,
00066                 double min=0 , double max=0                );
00069         dSigMF( const MembershipFn::parm_list& parm );
00070 
00071     //  DESTRUCTORS  //////////////////////////////////////////////////////
00072 
00074         ~dSigMF( );
00075 
00076     //  SET MEMBER FUNCTIONS (MUTATORS)  //////////////////////////////////
00077 
00084         void set ( double a=0 , double b=0 , double c=0 , double d=0 );
00085 
00086         // implemented virtual functions from IRIS::Fuzzy::Numeric
00087         virtual void discretize( unsigned degree );
00088 
00089     //  GET MEMBER FUNCTIONS (ACCESSORS)  /////////////////////////////////
00090 
00096         void get ( double &a , double &b , double &c , double &d );
00097 
00098         // implemented virtual functions from IRIS::Fuzzy::Numeric
00099         virtual double eval( double x ) const;
00100         virtual double operator() ( double val ) const;
00101 
00102         // implemented virtual functions from IRIS::Fuzzy::Set
00103         virtual void draw() const;
00104 
00105     }; // end of dSigMF class
00106 
00107   } // end of Fuzzy namespace
00108 
00109 } // end of IRIS namespace
00110 
00111 #endif      /* !DSIGMF_H_ */

Generated on Tue Dec 12 13:41:39 2006 for IRIS Intelligent Systems Tools by  doxygen 1.4.6