src/fuzzy.h

Go to the documentation of this file.
00001 #include <stdlib.h>
00002 #include <math.h>
00003 
00004 #define FZ_TRIANGLE 0
00005 #define FZ_TRAPEZOID 1
00006 #define FZ_CONST 2
00007 #define FZ_LEFT 3
00008 #define FZ_RIGHT 4
00009 #define FZ_WELL 5
00010 
00011 class fuzzy
00012 {
00013         private:
00014                 float *fx;
00015                 float min,max;
00016                 int samples;
00017 
00018         public:
00019                 fuzzy();
00020                 fuzzy(float min1,float max1,int samples1);
00021                 ~fuzzy();
00022 
00023                 void setfunction(float f(float));
00024                 void settriangle(float x1,float x2,float x3);
00025                 void settrapezoid(float x1,float x2,float x3,float x4);
00026                 void setconst(float c);
00027                 void setwell(float x1,float x2,float x3,float x4);
00028                 void setleft(float x1,float x2);
00029                 void setright(float x1,float x2);
00030                 void setvalues(float *v);
00031 
00032                 void setandz(fuzzy &f1,fuzzy &f2);
00033                 void setorz(fuzzy &f1,fuzzy &f2);
00034                 void setandp(fuzzy &f1,fuzzy &f2);
00035                 void setorp(fuzzy &f1,fuzzy &f2);
00036                 void setandl(fuzzy &f1,fuzzy &f2);
00037                 void setorl(fuzzy &f1,fuzzy &f2);
00038 
00039                 void setandz(fuzzy &f,float c);
00040                 void setorz(fuzzy &f,float c);
00041                 void setandp(fuzzy &f,float c);
00042                 void setorp(fuzzy &f,float c);
00043                 void setandl(fuzzy &f,float c);
00044                 void setorl(fuzzy &f,float c);
00045 
00046                 float value(float x);
00047                 float indexvalue(int index);
00048 
00049                 float centroid();
00050                 float bisector();
00051                 float mom();
00052                 float lom();
00053                 float hom();
00054 };
00055 
00056 float andz(float c1,float c2);
00057 float orz(float c1,float c2);
00058 float andp(float c1,float c2);
00059 float orp(float c1,float c2);
00060 float andl(float c1,float c2);
00061 float orl(float c1,float c2); 

Generated on Thu Apr 26 22:45:26 2007 for GangOfSix(GOS)-RoboCupTeamProject by  doxygen 1.5.1-p1