43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
import matplotlib.pyplot as plt
|
||
|
||
print("Введите минимальное значение (первое основание треугольника) :")
|
||
min_value = float(input())
|
||
|
||
print("Введите максимальное значение (второе основание треугольника) :")
|
||
max_value = float(input())
|
||
|
||
if max_value < min_value:
|
||
max_value, min_value = min_value, max_value
|
||
|
||
print("Введите центральное значение (вершина треугольника) :")
|
||
center_value = float(input())
|
||
|
||
print("Введите значение объекта для проверки степени принадлежности:")
|
||
x = float(input())
|
||
|
||
if min_value <= x <= center_value:
|
||
membership = (x - min_value) / (center_value - min_value)
|
||
elif center_value < x <= max_value:
|
||
membership = (max_value - x) / (max_value - center_value)
|
||
elif x < min_value or x > max_value:
|
||
membership = 0
|
||
else:
|
||
membership = -1
|
||
|
||
|
||
if membership == -1:
|
||
print("Не удалось рассчитать степень принадлежности объекта")
|
||
|
||
|
||
print(f"Минимум: {min_value}")
|
||
print(f"Максимум: {max_value}")
|
||
print(f"Центр: {center_value}")
|
||
print(f"Степень принадлежности {x}: {membership:.2f}")
|
||
|
||
X = [min_value, center_value, max_value]
|
||
Y = [0, 1, 0]
|
||
|
||
plt.plot(X, Y)
|
||
plt.plot(x, membership, 'ro')
|
||
plt.show()
|