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.

Package: fuzzy-logic-toolkit