Using Simulink | Simulink | Help Desk |
Help for SymbDefuz |
FlouLib |
This block implements a
linguistic defuzzification (or symbolic) of a linguistic fuzzy partition.
The block
input is a vector of membership degrees. The degrees are stored according to the
order in the file declaration. The last vector component is a number associated
with each block which allows the propagation of certain information.
The
file describing the partition is formed as follows:
An
example of file is:
5
C-2 -1000 -20 -20 -10
C-1 -20 -10 -10 0
C0 -10 0 0 10
C1 0 10 10 20
C2 10 20 20 1000
The
methods of defuzzification have the following codes:
Code |
Method |
0 |
Height method |
1 |
Sum of centers This method uses the
centre of gravity and the surface of each function weighted by membership degree: u = Sum_i (alpha(i)*cdg(i)*area(i))/Sum_i
(cdg(i)*area(i)) Attention, it is not the
COG method. |
2 |
SOM Attention, it is
different from SOM method of Matlab
fuzzy Toolbox which provides the smallest maximum, thus producing non controllable
effects as for example when the function is symmetrical around 0. |
3 |
LOM Attention, it is
different from LOM method of Matlab
fuzzy Toolbox which provides the largest maximum, thus producing non controllable
effects as for example when the function is symmetrical around 0. |
4 |
MOM Mean of maximum method. |
5 |
COG This method uses a sampling
procedure of the output universe of discourse. The number of points is given
in parameters. |
Other
methods can be added in the UserDefuzMethods.c file of the FlouLib library.
After modifications FlouLib must be
updated by the instruction: install -Update.
The
number of points for the centre of gravity method.