diff options
author | Johannes 'josch' Schauer <josch@debian.org> | 2019-01-27 13:56:24 +0100 |
---|---|---|
committer | Johannes 'josch' Schauer <josch@debian.org> | 2019-01-27 13:56:33 +0100 |
commit | 6ce553563bc795f389f639a3a8cdfe356de71441 (patch) | |
tree | da4c9ede3087ca534d93bc1ac5a14f044f036600 /examples/hybrid/tipper.fcl | |
parent | bbefa170378553e5a6e0d72e4d52328b61f3e8ac (diff) |
new upstream version 6.0
Diffstat (limited to 'examples/hybrid/tipper.fcl')
-rw-r--r-- | examples/hybrid/tipper.fcl | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/examples/hybrid/tipper.fcl b/examples/hybrid/tipper.fcl new file mode 100644 index 0000000..299dbb8 --- /dev/null +++ b/examples/hybrid/tipper.fcl @@ -0,0 +1,66 @@ +//Code automatically generated with fuzzylite 6.0. + +FUNCTION_BLOCK tipper + +VAR_INPUT + service: REAL; + food: REAL; +END_VAR + +VAR_OUTPUT + mTip: REAL; + tsTip: REAL; +END_VAR + +FUZZIFY service + RANGE := (0.000 .. 10.000); + TERM poor := Trapezoid 0.000 0.000 2.500 5.000; + TERM good := Triangle 2.500 5.000 7.500; + TERM excellent := Trapezoid 5.000 7.500 10.000 10.000; +END_FUZZIFY + +FUZZIFY food + RANGE := (0.000 .. 10.000); + TERM rancid := Trapezoid 0.000 0.000 2.500 7.500; + TERM delicious := Trapezoid 2.500 7.500 10.000 10.000; +END_FUZZIFY + +DEFUZZIFY mTip + RANGE := (0.000 .. 30.000); + TERM cheap := Triangle 0.000 5.000 10.000; + TERM average := Triangle 10.000 15.000 20.000; + TERM generous := Triangle 20.000 25.000 30.000; + METHOD : COG; + ACCU : MAX; + DEFAULT := nan; +END_DEFUZZIFY + +DEFUZZIFY tsTip + RANGE := (0.000 .. 30.000); + TERM cheap := 5.000; + TERM average := 15.000; + TERM generous := 25.000; + METHOD : COGS; + DEFAULT := nan; +END_DEFUZZIFY + +RULEBLOCK mamdani + AND : PROD; + OR : ASUM; + ACT : MIN; + RULE 1 : if service is poor or food is rancid then mTip is cheap + RULE 2 : if service is good then mTip is average + RULE 3 : if service is excellent or food is delicious then mTip is generous with 0.5 + RULE 4 : if service is excellent and food is delicious then mTip is generous with 1.0 +END_RULEBLOCK + +RULEBLOCK takagiSugeno + AND : PROD; + OR : ASUM; + RULE 1 : if service is poor or food is rancid then tsTip is cheap + RULE 2 : if service is good then tsTip is average + RULE 3 : if service is excellent or food is delicious then tsTip is generous with 0.5 + RULE 4 : if service is excellent and food is delicious then tsTip is generous with 1.0 +END_RULEBLOCK + +END_FUNCTION_BLOCK |