Function File: crisp_x = defuzz (x, y, defuzz_method)
Function File: crisp_x = defuzz ([x1 x2 ... xn], [y1 y2 ... yn], defuzz_method)
For a given domain, set of fuzzy function values, and defuzzification method, return the defuzzified (crisp) value of the fuzzy function.
The arguments x and y must be either two real numbers or two equal-length, non-empty vectors of reals, with the elements of x strictly increasing. defuzz_method must be a (case-sensitive) string corresponding to a defuzzification method. Defuzz handles both built-in and custom defuzzification methods.
The built-in defuzzification methods are:
- ‘centroid’
- Return the x-value of the centroid.
- ‘bisector’
- Return the x-value of the vertical bisector of the area.
- ‘mom’
- Return the mean x-value of the points with maximum y-values.
- ‘som’
- Return the smallest (absolute) x-value of the points with maximum y-values.
- ‘lom’
- Return the largest (absolute) x-value of the points with maximum y-values.
- ‘wtaver’
- Return the weighted average of the x-values, with the y-values used as weights.
- ‘wtsum’
- Return the weighted sum of the x-values, with the y-values used as weights.