defuzz {lfl} | R Documentation |
Convert fuzzy set into a crisp numeric value
Description
Take a fuzzy set in the form of 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"))
Arguments
degrees |
A fuzzy set in the form of a numeric vector of membership
degrees of values provided as the |
values |
A universe for the fuzzy set. |
type |
Type of the requested defuzzification method. The possibilities are:
|
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]
.
Value
A defuzzified value.
Author(s)
Michal Burda
See Also
fire()
, aggregateConsequents()
, perceive()
, pbld()
, fcut()
, lcut()
Examples
# 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')