FuzzyNumber-class: S4 class Representing a Fuzzy Number

Description Details Slots Child/sub classes References See Also Examples


Formally, a fuzzy number A (Dubois, Prade, 1987) is a fuzzy subset of the real line R with membership function μ given by:

| 0 if x < a1,
| left((x-a1)/(a2-a1)) if a1 ≤ x < a2,
μ(x) = | 1 if a2 ≤ x ≤ a3,
| right((x-a3)/(a4-a3)) if a3 < x ≤ a4,
| 0 if a4 < x,

where a1,a2,a3,a4\in R, a1 ≤ a2 ≤ a3 ≤ a4, left: [0,1]->[0,1] is a nondecreasing function called the left side generator of A, and right: [0,1]->[1,0] is a nonincreasing function called the right side generator of A. Note that this is a so-called L-R representation of a fuzzy number.

Alternatively, it may be shown that each fuzzy number A may be uniquely determined by specifying its α-cuts, A(α). We have A(0)=[a1,a4] and

A(α)=[a1+(a2-a1)*lower(α), a3+(a4-a3)*upper(α)]

for 0<α≤ 1, where lower: [0,1]->[0,1] and upper: [0,1]->[1,0] are, respectively, strictly increasing and decreasing functions satisfying lower(α)=inf(x: μ(x)≥α) and upper(α)=sup(x: μ(x)≥α).


Please note that many algorithms that deal with fuzzy numbers often use α-cuts rather than side functions.

Note that the FuzzyNumbers package also deals with particular types of fuzzy numbers like trapezoidal, piecewise linear, or “parametric” FNs.



Single numeric value specifying the left bound for the support.


Single numeric value specifying the left bound for the core.


Single numeric value specifying the right bound for the core.


Single numeric value specifying the right bound for the support.


A nondecreasing function [0,1]->[0,1] that gives the lower alpha-cut bound.


A nonincreasing function [0,1]->[1,0] that gives the upper alpha-cut bound.


A nondecreasing function [0,1]->[0,1] that gives the left side function.


A nonincreasing function [0,1]->[1,0] that gives the right side function.

Child/sub classes

TrapezoidalFuzzyNumber, PiecewiseLinearFuzzyNumber, PowerFuzzyNumber, and DiscontinuousFuzzyNumber


Dubois D., Prade H. (1987), Fuzzy numbers: An overview, In: Analysis of Fuzzy Information. Mathematical Logic, vol. I, CRC Press, pp. 3-39.

See Also

FuzzyNumber for a convenient constructor, and as.FuzzyNumber for conversion of objects to this class. Also, see convertSide for creating side functions generators, convertAlpha for creating alpha-cut bounds generators, approxInvert for inverting side functions/alpha-cuts numerically.

Other FuzzyNumber-method: Arithmetic, Extract, FuzzyNumber, alphaInterval(), alphacut(), ambiguity(), as.FuzzyNumber(), as.PiecewiseLinearFuzzyNumber(), as.PowerFuzzyNumber(), as.TrapezoidalFuzzyNumber(), as.character(), core(), distance(), evaluate(), expectedInterval(), expectedValue(), integrateAlpha(), piecewiseLinearApproximation(), plot(), show(), supp(), trapezoidalApproximation(), value(), weightedExpectedValue(), width()



FuzzyNumbers documentation built on Nov. 15, 2021, 5:09 p.m.