From 58a59e1d031711bc3b1de3326628ea453796f3da Mon Sep 17 00:00:00 2001 From: Anton Romanov Date: Wed, 19 Mar 2025 15:00:30 +0400 Subject: [PATCH] #14 -- Fix triangle generation --- src/main/java/ru/ulstu/method/fuzzy/PlainFuzzy.java | 4 +++- .../ru/ulstu/method/fuzzy/parameter/NumberOfFuzzyTerms.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/ru/ulstu/method/fuzzy/PlainFuzzy.java b/src/main/java/ru/ulstu/method/fuzzy/PlainFuzzy.java index a7d1908..f5f38dd 100644 --- a/src/main/java/ru/ulstu/method/fuzzy/PlainFuzzy.java +++ b/src/main/java/ru/ulstu/method/fuzzy/PlainFuzzy.java @@ -39,7 +39,9 @@ public class PlainFuzzy extends Method { .max(Comparator.comparing(TimeSeriesValue::getValue)) .map(TimeSeriesValue::getValue) .orElseThrow(() -> new RuntimeException("Максимальное значение не найдено")); - double delta = ((max - min) / numberOfFuzzyTerms) * 2; + + double delta = ((max - min) / (numberOfFuzzyTerms - 1)); + for (int i = 0; i < numberOfFuzzyTerms; i++) { fuzzySets.add(new Triangle(min + i * delta - delta, min + i * delta, diff --git a/src/main/java/ru/ulstu/method/fuzzy/parameter/NumberOfFuzzyTerms.java b/src/main/java/ru/ulstu/method/fuzzy/parameter/NumberOfFuzzyTerms.java index 06010b5..ff22a83 100644 --- a/src/main/java/ru/ulstu/method/fuzzy/parameter/NumberOfFuzzyTerms.java +++ b/src/main/java/ru/ulstu/method/fuzzy/parameter/NumberOfFuzzyTerms.java @@ -9,7 +9,7 @@ import java.util.List; public class NumberOfFuzzyTerms extends MethodParameter { private final static int MIN_NUMBER_OF_FUZZY_TERMS = 2; private final static int MIN_INCREASING_STEP_OF_NUMBER_OF_FUZZY_TERMS = 1; - private final static int MAX_NUMBER_OF_FUZZY_TERMS = 3; + private final static int MAX_NUMBER_OF_FUZZY_TERMS = 7; public NumberOfFuzzyTerms() { super("Number of fuzzy terms");