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

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

data

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

rule

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

.

range.output

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

names.varoutput

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

.

varout.mf

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

.

miu.rule

the results of the inference module. See `inference`

.

type.defuz

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).

type.model

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.

func.tsk

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:

weighted average method (

`WAM`

).first of maxima (

`FIRST.MAX`

).last of maxima (

`LAST.MAX`

)mean of maxima (

`MEAN.MAX`

).modified center of gravity (

`COG`

).