frbs (version 3.2-0)

fuzzifier: Transforming from crisp set into linguistic terms


Fuzzification refers to the process of transforming a crisp set into linguistic terms.


fuzzifier(data, num.varinput, num.labels.input,



a matrix of data containing numerical elements.


number of input variables.


the number of labels of the input variables.

a matrix containing the parameters to form the membership functions. See the Detail section.


A matrix of the degree of each linguistic terms based on the shape of the membership functions


In this function, there are five shapes of membership functions implemented, namely TRIANGLE, TRAPEZOID, GAUSSIAN, SIGMOID, and BELL. They are represented by a matrix that the dimension is (\(5, n\)) where \(n\) is a multiplication the number of linguistic terms/labels and the number of input variables. The rows of the matrix represent: The first row is the type of membership function, where 1 means TRIANGLE, 2 means TRAPEZOID in left side, 3 means TRAPEZOID in right side, 4 means TRAPEZOID in the middle, 5 means GAUSSIAN, 6 means SIGMOID, and 7 means BELL. And, the second up to fifth row indicate the corner points to construct the functions.

  • TRIANGLE has three parameters (\(a, b, c\)), where \(b\) is the center point of the TRIANGLE, and \(a\) and \(c\) are the left and right points, respectively.

  • TRAPEZOID has four parameters (\(a, b, c, d\)).

  • GAUSSIAN has two parameters (\(mean\) and \(variance\)).

  • SIGMOID has two parameters (\(\gamma\) and \(c\)) for representing steepness of the function and distance from the origin, respectively.

  • BELL has three parameters (\(a, b, c\)).

For example: <- matrix(c(2,1,3,2,3,0,30,60,0,40,20,50,80,

30,80,40,70,100,60,100,0,0,100,0,100), nrow=5, byrow=TRUE)

See Also

defuzzifier, rulebase, and inference