Fuzzy-Logic-Sharp icon indicating copy to clipboard operation
Fuzzy-Logic-Sharp copied to clipboard

Retrieving variable information

Open szewc12 opened this issue 6 years ago • 0 comments

I have a question based on the following example: How is information about the current water temperature received so that it can be assigned to a group (cold, hot).

In this code I have given only the water temperature ranges (hot, cold). And how to send information to this range about the current temperature and start the fuzzy logic process

Thanks in advance

var water = new LinguisticVariable("Water"); var cold = water.MembershipFunctions.AddTrapezoid("Cold", 0, 0, 20, 40); var warm = water.MembershipFunctions.AddTriangle("Warm", 30, 50, 70); var hot = water.MembershipFunctions.AddTrapezoid("Hot", 50, 80, 100, 100);

var power = new LinguisticVariable("Power"); var low = power.MembershipFunctions.AddTriangle("Low", 0, 25, 50); var high = power.MembershipFunctions.AddTriangle("High", 25, 50, 75);

IFuzzyEngine fuzzyEngine = new FuzzyEngineFactory().Default();

var rule1 = Rule.If(water.Is(cold).Or(water.Is(warm))).Then(power.Is(high)); var rule2 = Rule.If(water.Is(hot)).Then(power.Is(low)); fuzzyEngine.Rules.Add(rule1, rule2);

var result = fuzzyEngine.Defuzzify(new { water = 60 });

szewc12 avatar Nov 15 '19 01:11 szewc12