Reputation: 479
As far as I know, if I were to deffuzify a value using Mamdani method, I would write a FCL file this way:
TERM T1 := (0, 1) (1, 0);
TERM T2 := (1, 0) (2, 1) (2, 0);
TERM T3 := (4, 0) (5, 1) (5, 0);
TERM T4 := (6, 0) (7, 1) (7, 0);
TERM T5 := (9, 0) (10, 1) (10, 0);
Note: the values themselves might not have an actual sense, as I am not using Mamdani method in my fuzzy control deffuzification logic.
What I want to do, or I am actually obliged to do, is to use Sugeno method and say:
TERM T1 := (0, 1);
TERM T2 := (2, 1);
TERM T3 := (5, 1);
TERM T4 := (7, 1);
TERM T5 := (10, 1);
Or for better clarification purposes, I want to have a range between 0 and 10, and I would like my terms to have value of 1 in points on x-axis: 0, 2, 5, 7 and 10.
How can I code that in FCL file? I trust the method is COGS?
DEFUZZIFY DFZF
// what to do here?
END_DEFUZZIFY
When I type in terms for Sugeno, as I have just now, I get a totally filled square from 0 - 10 on x-axis and from 0 - 1 on y-axis, which doesn't make any sense.
I cannot find anything on Google, so I've decided to turn for a help here.
Upvotes: 0
Views: 199
Reputation: 479
EDIT ::
I found the solution. When using SUGENO style, you need to write:
DEFUZZIFY attribute
TERM T1 := 0;
TERM T2 := 2;
// and so on.
END_DEFUZZIFY
Upvotes: 0