Function to defuzzify fuzzy data
This function defuzzifies FuzzyData
into single value. The FuzzyData
can only contain one fuzzy number, otherwise the defuzzification is not possible.
defuzziffy(fuzzyData, type = "mean")
## S4 method for signature 'FuzzyData'
defuzziffy(fuzzyData, type = "mean")
Arguments
fuzzyData
: A FuzzyData
type
: A "character"
representing type of defuzzification. Currently implemented methods are "Yager"
, "modalValue"
, "modalValueDominancy"
, "mean"
. The default value is "mean"
.
Returns
A numeric value of defuzzified value, based on deffuzification method.
Details
The triangular fuzzy numbers A represented as triplet [a1,a2,a3] are defuzzified using these methods: "Yager"
:
def(A~)=(a2−a1)+(a3−a2))(a2−a1)(a1+2/3(a2−a1)+(a3−a2)(a2+1/3(a3−a2))def(A)=((a2−a1)(a1+2/3(a2−a1)+(a3−a2)(a2+1/3(a3−a2)))/((a2−a1)+(a3−a2)))
"modalvalue"
:
def(A~)=a2def(A)=a2
"modalValueDominancy"
:
def(A~)=(a1+4∗a2+a3)/6def(A)=(a1+4∗a2+a3)/6
"mean"
:
def(A~)=(a1+a2+a3)/3def(A)=(a1+a2+a3)/3
.