Exemplo n.º 1
0
        private void Defuzzificate()
        {
            Func <double, double> numeratorSubFunction = (x) => x *JointFunctions.GetValue(x);

            Func <double, double> denumeratorSubFunction = (x) => JointFunctions.GetValue(x);

            double max = JointFunctions.MaxInputValue;
            double min = JointFunctions.MinInputValue;

            // Integrate!
            double numerator   = TrapezoidalRule.Integrate(numeratorSubFunction, min, max, steps: 100);
            double denumerator = TrapezoidalRule.Integrate(denumeratorSubFunction, min, max, steps: 100);

            Output = numerator / denumerator;
        }
Exemplo n.º 2
0
 protected override double Function(double x)
 {
     return(JointFunctions.Max(f => f.GetValue(x)));
 }