Learn R Programming

lfl (version 2.3.1)

defuzz: Convert fuzzy set into a crisp numeric value

Description

Take a discretized fuzzy set (i.e., a vector of membership degrees and a vector of numeric values that correspond to that degrees) and perform a selected type of defuzzification, i.e., conversion of the fuzzy set into a single crisp value.

Usage

defuzz(
  degrees,
  values,
  type = c("mom", "fom", "lom", "dee", "cog", "expun", "expw1", "expw2")
)

Arguments

Value

A defuzzified value.

Details

Function converts input fuzzy set into a crisp value. The definition of input fuzzy set is provided by the arguments degrees and values. These arguments should be numeric vectors of the same length, the former containing membership degrees in the interval \([0, 1]\) and the latter containing the corresponding crisp values: i.e., values[i] has a membership degree degrees[i].

See Also

fire(), aggregateConsequents(), perceive(), pbld(), fcut(), lcut()

Examples

Run this code

# returns mean of maxima, i.e., mean of 6, 7, 8
defuzz(c(0, 0, 0, 0.1, 0.3, 0.9, 0.9, 0.9, 0.2, 0),
       1:10,
       type='mom')

Run the code above in your browser using DataLab