Skip to content

Commit fd26b96

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent 92ed43d commit fd26b96

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

fuzzy_logic/trapazoidal_fuzzyset.py

+22-9
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
class TrapezoidalFuzzySet:
1111
"""
1212
Represents and manipulates trapezoidal fuzzy sets.
13-
13+
1414
Attributes:
1515
name: The name or label of the fuzzy set.
1616
left_base: The left base of the trapezoid.
@@ -46,24 +46,34 @@ def membership(self, value: float) -> float:
4646
if value < self.left_base or value > self.right_base:
4747
membership_value = 0.0
4848
elif self.left_base <= value < self.left_peak:
49-
membership_value = (value - self.left_base) / (self.left_peak - self.left_base)
49+
membership_value = (value - self.left_base) / (
50+
self.left_peak - self.left_base
51+
)
5052
elif self.left_peak <= value <= self.right_peak:
5153
membership_value = 1.0
5254
elif self.right_peak < value <= self.right_base:
53-
membership_value = (self.right_base - value) / (self.right_base - self.right_peak)
54-
55+
membership_value = (self.right_base - value) / (
56+
self.right_base - self.right_peak
57+
)
58+
5559
# For complements, invert the membership value
5660
return membership_value if not self.is_complement else 1 - membership_value
5761

5862
def complement(self) -> TrapezoidalFuzzySet:
5963
"""
6064
Creates a new TrapezoidalFuzzySet instance representing the complement.
61-
65+
6266
>>> TrapezoidalFuzzySet("Medium", 0, 1, 2, 3).complement().membership(1)
6367
0.0
6468
"""
65-
return TrapezoidalFuzzySet(f"¬{self.name}", self.left_base, self.left_peak, self.right_peak, self.right_base,
66-
is_complement=not self.is_complement)
69+
return TrapezoidalFuzzySet(
70+
f"¬{self.name}",
71+
self.left_base,
72+
self.left_peak,
73+
self.right_peak,
74+
self.right_base,
75+
is_complement=not self.is_complement,
76+
)
6777

6878
def plot(self) -> None:
6979
"""
@@ -78,12 +88,16 @@ def plot(self) -> None:
7888
plt.grid()
7989
plt.legend()
8090

91+
8192
if __name__ == "__main__":
8293
from doctest import testmod
94+
8395
testmod()
8496

8597
# Create an instance of TrapezoidalFuzzySet
86-
fuzzy_set = TrapezoidalFuzzySet("Medium Temperature", left_base=20, left_peak=25, right_peak=30, right_base=35)
98+
fuzzy_set = TrapezoidalFuzzySet(
99+
"Medium Temperature", left_base=20, left_peak=25, right_peak=30, right_base=35
100+
)
87101

88102
# Display some membership values
89103
print(f"Membership at 25: {fuzzy_set.membership(25)}")
@@ -95,4 +109,3 @@ def plot(self) -> None:
95109
fuzzy_set.complement().plot()
96110
plt.title("Trapezoidal Fuzzy Set and its Complement")
97111
plt.show()
98-

0 commit comments

Comments
 (0)