public void Experiment3() { String filename = "Function3"; StringBuilder expected = new StringBuilder(); StringBuilder result = new StringBuilder(); int fuzzySetsCount = 10; Range range = new Range(-5, 5); IFunction function = FunctionsHelper.GetConcreteFunction(FunNumber.F3); List <FuzzySet> fuzzySets = FuzzySet.coverRangeWithFuzzySets(range, fuzzySetsCount); SimpleFuzzyRules3D fuzzyRules = new SimpleFuzzyRules3D(generateRandom2DPoints(range, RANDOM_POINTS_COUNT), function, fuzzySets); double[][] testPoints = generateRandom2DPoints(range, RANDOM_POINTS_COUNT); foreach (double[] xs in testPoints) { double output = fuzzyRules.getOutput(xs); // Console.WriteLine(String.format("f(" + Arrays.toString(xs) + ") = %.2f, expected %.2f", output, function.evaluate(xs))); expected.Append(StringUtils.Join(xs, " ") + " " + output + "\n"); result.Append(StringUtils.Join(xs, " ") + " " + function.evaluate(xs) + "\n"); } // Save results to files. FileManagement.WriteToFile(outputDirectory + "//fuzzy_" + filename + "_expected.dat", expected.ToString()); FileManagement.WriteToFile(outputDirectory + "//fuzzy_" + filename + "_result.dat", result.ToString()); double error = fuzzyRules.getError(testPoints); Console.WriteLine("Error = " + error); }
public void Experiment3() { String filename = "Function3"; StringBuilder expected = new StringBuilder(); StringBuilder result = new StringBuilder(); int fuzzySetsCount = 10; Range range = new Range(-5, 5); IFunction function = FunctionsHelper.GetConcreteFunction(FunNumber.F3); List<FuzzySet> fuzzySets = FuzzySet.coverRangeWithFuzzySets(range, fuzzySetsCount); SimpleFuzzyRules3D fuzzyRules = new SimpleFuzzyRules3D(generateRandom2DPoints(range, RANDOM_POINTS_COUNT), function, fuzzySets); double[][] testPoints = generateRandom2DPoints(range, RANDOM_POINTS_COUNT); foreach (double[] xs in testPoints) { double output = fuzzyRules.getOutput(xs); // Console.WriteLine(String.format("f(" + Arrays.toString(xs) + ") = %.2f, expected %.2f", output, function.evaluate(xs))); expected.Append(StringUtils.Join(xs, " ") + " " + output + "\n"); result.Append(StringUtils.Join(xs, " ") + " " + function.evaluate(xs) + "\n"); } // Save results to files. FileManagement.WriteToFile(outputDirectory + "//fuzzy_" + filename + "_expected.dat", expected.ToString()); FileManagement.WriteToFile(outputDirectory + "//fuzzy_" + filename + "_result.dat", result.ToString()); double error = fuzzyRules.getError(testPoints); Console.WriteLine("Error = " + error); }