Using Simulink Simulink Help Desk

Help for SymbDefuz

FlouLib

This block implements a linguistic defuzzification (or symbolic) of a linguistic fuzzy partition.

Input : membership degree vector

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.

Output: real

Parameters

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.