00001 #include "fuzzygroup.h" 00002 #include "fuzzyrule.h" 00003 #include <stdarg.h> 00004 00005 #define DFZ_CENTROID 0 00006 #define DFZ_BISECTOR 1 00007 #define DFZ_LOM 2 00008 #define DFZ_MOM 3 00009 #define DFZ_HOM 4 00010 00011 #define OPS_ZADEH 0 00012 #define OPS_LARSEN 1 00013 #define OPS_LUKASIEWITZ 2 00014 00020 class cFuzzyObj 00021 { 00022 private: 00023 00024 public: 00025 int inputs; 00026 int outputs; 00027 int rules; 00028 int samples; 00029 00030 fuzzygroup **input; 00031 fuzzygroup **output; 00032 fuzzyrule **rule; 00033 00034 00038 cFuzzyObj(); 00039 ~cFuzzyObj(); 00040 00045 void SetSamples(int samples1); 00046 00052 void AddInput(float min1,float max1); 00053 00059 void AddOutput(float min1,float max1); 00060 00072 void AddInputMF(int inputgroup1,...); 00073 00085 void AddOutputMF(int outputgroup1,...); 00086 00100 void AddRule(int outputgroup1,...); 00101 00102 00116 float CountResult(int outputgroup1,int method,int ops,...); 00117 };