summaryrefslogtreecommitdiff
path: root/examples/takagi-sugeno/octave/heart_disease_risk.java
diff options
context:
space:
mode:
Diffstat (limited to 'examples/takagi-sugeno/octave/heart_disease_risk.java')
-rw-r--r--examples/takagi-sugeno/octave/heart_disease_risk.java83
1 files changed, 47 insertions, 36 deletions
diff --git a/examples/takagi-sugeno/octave/heart_disease_risk.java b/examples/takagi-sugeno/octave/heart_disease_risk.java
index fcd67c9..febd1c7 100644
--- a/examples/takagi-sugeno/octave/heart_disease_risk.java
+++ b/examples/takagi-sugeno/octave/heart_disease_risk.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,51 +13,61 @@ import com.fuzzylite.variable.*;
public class heart_disease_risk{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("Heart-Disease-Risk");
+engine.setName("heart_disease_risk");
+engine.setDescription("");
-InputVariable inputVariable1 = new InputVariable();
-inputVariable1.setEnabled(true);
-inputVariable1.setName("LDLLevel");
-inputVariable1.setRange(0.000, 300.000);
-inputVariable1.addTerm(new Trapezoid("Low", -1.000, 0.000, 90.000, 110.000));
-inputVariable1.addTerm(new Trapezoid("LowBorderline", 90.000, 110.000, 120.000, 140.000));
-inputVariable1.addTerm(new Trapezoid("Borderline", 120.000, 140.000, 150.000, 170.000));
-inputVariable1.addTerm(new Trapezoid("HighBorderline", 150.000, 170.000, 180.000, 200.000));
-inputVariable1.addTerm(new Trapezoid("High", 180.000, 200.000, 300.000, 301.000));
-engine.addInputVariable(inputVariable1);
+InputVariable LDLLevel = new InputVariable();
+LDLLevel.setName("LDLLevel");
+LDLLevel.setDescription("");
+LDLLevel.setEnabled(true);
+LDLLevel.setRange(0.000, 300.000);
+LDLLevel.setLockValueInRange(false);
+LDLLevel.addTerm(new Trapezoid("Low", -1.000, 0.000, 90.000, 110.000));
+LDLLevel.addTerm(new Trapezoid("LowBorderline", 90.000, 110.000, 120.000, 140.000));
+LDLLevel.addTerm(new Trapezoid("Borderline", 120.000, 140.000, 150.000, 170.000));
+LDLLevel.addTerm(new Trapezoid("HighBorderline", 150.000, 170.000, 180.000, 200.000));
+LDLLevel.addTerm(new Trapezoid("High", 180.000, 200.000, 300.000, 301.000));
+engine.addInputVariable(LDLLevel);
-InputVariable inputVariable2 = new InputVariable();
-inputVariable2.setEnabled(true);
-inputVariable2.setName("HDLLevel");
-inputVariable2.setRange(0.000, 100.000);
-inputVariable2.addTerm(new Trapezoid("LowHDL", -1.000, 0.000, 35.000, 45.000));
-inputVariable2.addTerm(new Trapezoid("ModerateHDL", 35.000, 45.000, 55.000, 65.000));
-inputVariable2.addTerm(new Trapezoid("HighHDL", 55.000, 65.000, 100.000, 101.000));
-engine.addInputVariable(inputVariable2);
+InputVariable HDLLevel = new InputVariable();
+HDLLevel.setName("HDLLevel");
+HDLLevel.setDescription("");
+HDLLevel.setEnabled(true);
+HDLLevel.setRange(0.000, 100.000);
+HDLLevel.setLockValueInRange(false);
+HDLLevel.addTerm(new Trapezoid("LowHDL", -1.000, 0.000, 35.000, 45.000));
+HDLLevel.addTerm(new Trapezoid("ModerateHDL", 35.000, 45.000, 55.000, 65.000));
+HDLLevel.addTerm(new Trapezoid("HighHDL", 55.000, 65.000, 100.000, 101.000));
+engine.addInputVariable(HDLLevel);
-OutputVariable outputVariable = new OutputVariable();
-outputVariable.setEnabled(true);
-outputVariable.setName("HeartDiseaseRisk");
-outputVariable.setRange(0.000, 10.000);
-outputVariable.fuzzyOutput().setAccumulation(null);
-outputVariable.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable.setDefaultValue(Double.NaN);
-outputVariable.setLockPreviousOutputValue(false);
-outputVariable.setLockOutputValueInRange(false);
-outputVariable.addTerm(new Constant("NoRisk", 0.000));
-outputVariable.addTerm(new Constant("LowRisk", 2.500));
-outputVariable.addTerm(new Constant("MediumRisk", 5.000));
-outputVariable.addTerm(new Constant("HighRisk", 7.500));
-outputVariable.addTerm(new Constant("ExtremeRisk", 10.000));
-engine.addOutputVariable(outputVariable);
+OutputVariable HeartDiseaseRisk = new OutputVariable();
+HeartDiseaseRisk.setName("HeartDiseaseRisk");
+HeartDiseaseRisk.setDescription("");
+HeartDiseaseRisk.setEnabled(true);
+HeartDiseaseRisk.setRange(0.000, 10.000);
+HeartDiseaseRisk.setLockValueInRange(false);
+HeartDiseaseRisk.setAggregation(null);
+HeartDiseaseRisk.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+HeartDiseaseRisk.setDefaultValue(Double.NaN);
+HeartDiseaseRisk.setLockPreviousValue(false);
+HeartDiseaseRisk.addTerm(new Constant("NoRisk", 0.000));
+HeartDiseaseRisk.addTerm(new Constant("LowRisk", 2.500));
+HeartDiseaseRisk.addTerm(new Constant("MediumRisk", 5.000));
+HeartDiseaseRisk.addTerm(new Constant("HighRisk", 7.500));
+HeartDiseaseRisk.addTerm(new Constant("ExtremeRisk", 10.000));
+engine.addOutputVariable(HeartDiseaseRisk);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(new Minimum());
ruleBlock.setDisjunction(null);
-ruleBlock.setActivation(null);
+ruleBlock.setImplication(null);
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if LDLLevel is Low and HDLLevel is LowHDL then HeartDiseaseRisk is MediumRisk", engine));
ruleBlock.addRule(Rule.parse("if LDLLevel is Low and HDLLevel is ModerateHDL then HeartDiseaseRisk is LowRisk", engine));
ruleBlock.addRule(Rule.parse("if LDLLevel is Low and HDLLevel is HighHDL then HeartDiseaseRisk is NoRisk", engine));