Amaterastis
Amaterastis

Reputation: 479

Using java and jfuzzylogic library on Sugeno method

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

Answers (1)

Amaterastis
Amaterastis

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

Related Questions