BellMF.h

Go to the documentation of this file.
00001 
00022 #ifndef         BELLMF_H_
00023 # define        BELLMF_H_
00024 
00025 #include "MembershipFn.h"   // for MembershipFn
00026 
00027 namespace IRIS {
00028 
00029   using namespace std;
00030 
00031   namespace Fuzzy {
00032 
00034     class BellMF : public MembershipFn
00035     {
00036 
00037       public:
00038 
00040         static const unsigned NUM_PARMS = 3;
00041 
00042     //  CONSTRUCTORS  /////////////////////////////////////////////////////
00043 
00047         BellMF( double a=0 , double b=0 , double c=0 );
00056         BellMF( const string& name , 
00057                 double   a=0 , double   b=0 , double c=0 ,
00058                 double min=0 , double max=0                );
00061         BellMF( const MembershipFn::parm_list& parm );
00062 
00063     //  DESTRUCTORS  //////////////////////////////////////////////////////
00064 
00066         ~BellMF( );
00067 
00068     //  SET MEMBER FUNCTIONS (MUTATORS)  //////////////////////////////////
00069 
00073         void set ( double a=0 , double b=0 , double c=0 );
00074 
00075         // implemented virtual functions from IRIS::Fuzzy::Numeric
00076         virtual void discretize( unsigned degree );
00077 
00078     //  GET MEMBER FUNCTIONS (ACCESSORS)  /////////////////////////////////
00079 
00083         void get ( double &a , double &b , double &c );
00084 
00085         // implemented virtual functions from IRIS::Fuzzy::Numeric
00086         virtual double eval( double x ) const;
00087         virtual double operator() ( double val ) const;
00088 
00089         // implemented virtual functions from IRIS::Fuzzy::Set
00090         virtual void draw() const;
00091 
00092     }; // end of BellMF class
00093 
00094   } // end of Fuzzy namespace
00095 
00096 } // end of IRIS namespace
00097 
00098 #endif      /* !BELLMF_H_ */

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