Beispiel #1
0
        public static List<FuzzySet> coverRangeWithFuzzySets(Range range, int fuzzySetsCount)
        {
            double halfFuzzySetWidth = range.getWidth() / (fuzzySetsCount - 1);

            List<FuzzySet> fuzzySets = new List<FuzzySet>();

            fuzzySets.Add(new FuzzySet(Double.NegativeInfinity, range.getBegin(), range.getBegin() + halfFuzzySetWidth));

            for (double a = range.getBegin(); a + 2 * halfFuzzySetWidth <= range.getEnd();
                    a += halfFuzzySetWidth)
            {
                double b = a + halfFuzzySetWidth;
                double c = b + halfFuzzySetWidth;
                fuzzySets.Add(new FuzzySet(a, b, c));
            }

            fuzzySets.Add(new FuzzySet(range.getEnd() - halfFuzzySetWidth, range.getEnd(), Double.PositiveInfinity));

            return fuzzySets;
        }
 private double randomPoint(Range range)
 {
     return range.getBegin() + (random.NextDouble() * range.getWidth());
 }