|
31 | 31 | * combined into a single fuzzy set using the aggregation method of the FIS. |
32 | 32 | * Then, to compute a final crisp output value, the combined output fuzzy set is |
33 | 33 | * defuzzified using one of the methods described in Defuzzification Methods. |
34 | | -* To specify a FIS of this type use the \ref qlibs::fisType::Mamdani enum definition when calling |
| 34 | +* To specify a FIS of this type use the \ref qlibs::Mamdani enum definition when calling |
35 | 35 | * \ref qlibs::fis::setup(). |
36 | 36 | * |
37 | 37 | * <center> |
|
80 | 80 | * controllers that are to be applied, respectively, to different operating |
81 | 81 | * conditions of a dynamic nonlinear system. |
82 | 82 | * |
83 | | -* To specificy a FIS of this type, use the \ref qlibs::fisType::Sugeno enum definition when |
| 83 | +* To specificy a FIS of this type, use the \ref qlibs::Sugeno enum definition when |
84 | 84 | * calling \ref qlibs::fis::setup(). |
85 | 85 | * |
86 | 86 | * <center> |
|
111 | 111 | * each rule's output by the method of weighted average and thus avoids the |
112 | 112 | * time-consuming process of defuzzification. |
113 | 113 | * |
114 | | -* To specify a FIS of this type, use the ::Tsukamoto enum definition when |
| 114 | +* To specify a FIS of this type, use the \ref qlibs::Tsukamoto enum definition when |
115 | 115 | * calling \ref qlibs::fis::setup() . |
116 | 116 | * |
117 | 117 | * <center> |
|
135 | 135 | * FIS supports five different methods, as listed in the \ref qlibs::fisDeFuzzMethod enum |
136 | 136 | * for computing a single crisp output value for such a fuzzy set. |
137 | 137 | * |
138 | | -* -# \ref centroid (default): this method applies only to ::Mamdani |
| 138 | +* -# \ref qlibs::centroid (default): this method applies only to \ref qlibs::Mamdani |
139 | 139 | * systems and returns the center of gravity of the fuzzy set along the x-axis. |
140 | 140 | * If you think of the area as a plate with uniform thickness and density, the |
141 | 141 | * centroid is the point along the x-axis about which the fuzzy set would balance. |
|
145 | 145 | * |
146 | 146 | * <center> \f$\text{centroid}= \frac{ \sum_{i=1}\mu(x_{i})x_{i} }{ \sum_{i=1}\mu(x_{i})} \f$ </center> |
147 | 147 | * |
148 | | -* -# \ref bisector : this method applies only for ::Mamdani systems and finds the |
| 148 | +* -# \ref qlibs::bisector : this method applies only for \ref qlibs::Mamdani systems and finds the |
149 | 149 | * vertical line that divides the fuzzy set into two sub-regions of equal area. |
150 | 150 | * It is sometimes, but not always, coincident with the centroid line. |
151 | 151 | * |
152 | | -* -# \ref mom : Middle of Maximum. Only for \ref Mamdani systems. |
| 152 | +* -# \ref qlibs::mom : Middle of Maximum. Only for \ref qlibs::Mamdani systems. |
153 | 153 | * |
154 | | -* -# \ref som : Smallest of Maximum. Only for \ref Mamdani systems. |
| 154 | +* -# \ref qlibs::som : Smallest of Maximum. Only for \ref qlibs::Mamdani systems. |
155 | 155 | * |
156 | | -* -# \ref lom : Largest of Maximum. Only for \ref Mamdani systems. |
| 156 | +* -# \ref qlibs::lom : Largest of Maximum. Only for \ref qlibs::Mamdani systems. |
157 | 157 | * |
158 | | -* -# \ref wtaver (default): Weighted average of all rule outputs. This method applies only |
159 | | -* for \ref Sugeno and \ref Tsukamoto systems. |
| 158 | +* -# \ref qlibs::wtaver (default): Weighted average of all rule outputs. This method applies only |
| 159 | +* for \ref Sugeno and \ref qlibs::Tsukamoto systems. |
160 | 160 | * |
161 | | -* -# \ref qlibs::fisDeFuzzMethod::wtsum: Weighted sum of all rule outputs. This method applies only |
162 | | -* for \ref qlibs::fisDeFuzzMethod::Sugeno and \ref Tsukamoto systems. |
| 161 | +* -# \ref qlibs::wtsum: Weighted sum of all rule outputs. This method applies only |
| 162 | +* for \ref qlibs::Sugeno and \ref qlibs::Tsukamoto systems. |
163 | 163 | * |
164 | 164 | * @note The defuzzification method is selected by default when setting up the |
165 | 165 | * FIS instance with \ref qlibs::fis::setup(). However, the user can later change the default |
|
301 | 301 | * |
302 | 302 | * Then, we can proceed to the construction of the fuzzy system. First, we must |
303 | 303 | * configure the inputs and outputs by setting the ranges of each. For this, we |
304 | | -* will use the \ref fis::setupInput() and fis::setupOutput() methods as follows: |
| 304 | +* will use the \ref qlibs::fis::setupInput() and \ref qlibs::fis::setupOutput() |
| 305 | +* methods as follows: |
305 | 306 | * |
306 | 307 | * @code{.c} |
307 | 308 | * tipper.setupInput( service, 0.0, 1.0 ); |
|
310 | 311 | * @endcode |
311 | 312 | * |
312 | 313 | * The next step is to configure the membership functions by relating I/O, |
313 | | -* tags, shape and parameters one by one by using the \ref fis::setInputMF() and |
314 | | -* fis::setOutputMF() methods as follows: |
| 314 | +* tags, shape and parameters one by one by using the \ref qlibs::fis::setInputMF() and |
| 315 | +* \ref qlibs::fis::setOutputMF() methods as follows: |
315 | 316 | * Then, let's define the parameters of all the membership functions: |
316 | 317 | * |
317 | 318 | * @code{.c} |
|
330 | 331 | * |
331 | 332 | * @section qfis_eval Evaluating a Fuzzy Inference System |
332 | 333 | * |
333 | | -* If we already have a fuzzy system configured with \ref fis::setup(), we can |
334 | | -* evaluate it by using \ref fis::fuzzify(), \ref fis::inference() and |
335 | | -* \ref fis::deFuzzify(). |
336 | | -* Input values can be set with \ref fis::setInput() and output values can be |
337 | | -* obtained with \ref fis::getOutput(). Also you can use the stream operator @c << |
338 | | -* to set the inputs and the index operator @c [] to get the outputs of the FIS |
| 334 | +* If we already have a fuzzy system configured with \ref qlibs::fis::setup(), we can |
| 335 | +* evaluate it by using \ref qlibs::fis::fuzzify(), \ref qlibs::fis::inference() and |
| 336 | +* \ref qlibs::fis::deFuzzify(). |
| 337 | +* Input values can be set with \ref qlibs::fis::setInput() and output values can be |
| 338 | +* obtained with \ref qlibs::fis::getOutput(). Also you can use the stream operator @c << |
| 339 | +* to set the inputs and the index operator [] to get the outputs of the FIS |
339 | 340 | * system (see example bellow). |
340 | 341 | * |
341 | 342 | * To show its use, first we are going to put everything together in a single |
|
0 commit comments