GaussMF.h

Go to the documentation of this file.
00001 
00022 #ifndef         GAUSSMF_H_
00023 # define        GAUSSMF_H_
00024 
00025 #include "MembershipFn.h"   // for MembershipFn
00026 
00027 namespace IRIS {
00028 
00029   using namespace std;
00030 
00031   namespace Fuzzy {
00032 
00034     class GaussMF : public MembershipFn
00035     {
00036 
00037       public:
00038 
00040         static const unsigned NUM_PARMS = 2;
00041 
00042     //  CONSTRUCTORS  /////////////////////////////////////////////////////
00043 
00050         GaussMF( double sig=0 , double c=0 );
00060         GaussMF( const string& name , 
00061                  double sig=0 , double   c=0 ,
00062                  double min=0 , double max=0   );
00065         GaussMF( const MembershipFn::parm_list& parm );
00066 
00067     //  DESTRUCTORS  //////////////////////////////////////////////////////
00068 
00070         ~GaussMF( );
00071 
00072     //  SET MEMBER FUNCTIONS (MUTATORS)  //////////////////////////////////
00073 
00078         void set ( double a=0 , double b=0 );
00079 
00080         // implemented virtual functions from IRIS::Fuzzy::Numeric
00081         virtual void discretize( unsigned degree );
00082 
00083     //  GET MEMBER FUNCTIONS (ACCESSORS)  /////////////////////////////////
00084 
00089         void get ( double &a , double &b );
00090 
00091         // implemented virtual functions from IRIS::Fuzzy::Numeric
00092         virtual double eval( double x ) const;
00093         virtual double operator() ( double val ) const;
00094 
00095         // implemented virtual functions from IRIS::Fuzzy::Set
00096         virtual void draw() const;
00097 
00098     }; // end of GaussMF class
00099 
00100   } // end of Fuzzy namespace
00101 
00102 } // end of IRIS namespace
00103 
00104 #endif      /* !GAUSSMF_H_ */

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