frbs (version 3.2-0)

defuzzifier: Defuzzifier to transform from linguistic terms to crisp values


Defuzzification is a transformation that extracts the crisp values from the linguistic terms.


defuzzifier(data, rule = NULL, range.output = NULL,
  names.varoutput = NULL, = NULL, miu.rule,
  type.defuz = NULL, type.model = "TSK", func.tsk = NULL)



a matrix (\(m \times n\)) of data, where \(m\) is the number of instances and \(n\) is the number of variables.


a list or matrix of fuzzy IF-THEN rules, as discussed in rulebase.


a matrix (\(2 \times n\)) containing the range of the output data.


a list for giving names to the linguistic terms. See rulebase.

a matrix constructing the membership function of the output variable. See fuzzifier.


the results of the inference module. See inference.


the type of defuzzification to be used as follows.

  • 1 or WAM means weighted average method,

  • 2 or FIRST.MAX means first maxima,

  • 3 or LAST.MAX means last maxima,

  • 4 or MEAN.MAX means mean maxima,

  • 5 or COG means modified center of gravity (COG).


the type of the model that will be used in the simulation. Here, 1 or MAMDANI and 2 or TSK means we use Mamdani or Takagi Sugeno Kang model, respectively.


a matrix used to build the linear equation for the consequent part if we are using Takagi Sugeno Kang. See also rulebase.


A matrix of crisp values


In this function, there exist two kinds of models which are based on the Mamdani and Takagi Sugeno Kang model. For the Mamdani model there are five methods for defuzzifying a linguistic term \(A\) of a universe of discourse \(Z\). They are as follows:

  1. weighted average method (WAM).

  2. first of maxima (FIRST.MAX).

  3. last of maxima (LAST.MAX)

  4. mean of maxima (MEAN.MAX).

  5. modified center of gravity (COG).

See Also

fuzzifier, rulebase, and inference