Añadida explicación de pertenencia en enpoint 3

This commit is contained in:
Mireya Cueto Garrido
2026-03-24 10:55:06 +01:00
parent 493afc99a9
commit 9a8ddf5328
+22 -5
View File
@@ -146,18 +146,35 @@ def evaluate_doc_mf(request: EvaluationRequest):
c, d = request.support c, d = request.support
if x < c or x > d: if x < c or x > d:
return {"membership": 0.0} return {
"membership": 0.0,
"explanation": "El valor está fuera del soporte, por eso la pertenencia es 0."
}
if a <= x <= b: if a <= x <= b:
return {"membership": 1.0} return {
"membership": 1.0,
"explanation": "El valor está dentro del núcleo, por eso la pertenencia es 1."
}
if c <= x < a: if c <= x < a:
return {"membership": linear_interpolation(x, request.left_nodes)} mu = linear_interpolation(x, request.left_nodes)
return {
"membership": mu,
"explanation": "El valor está en el lado izquierdo y se interpola entre nodos."
}
if b < x <= d: if b < x <= d:
return {"membership": linear_interpolation(x, request.right_nodes)} mu = linear_interpolation(x, request.right_nodes)
return {
"membership": mu,
"explanation": "El valor está en el lado derecho y se interpola entre nodos."
}
return {"membership": 0.0} return {
"membership": 0.0,
"explanation": "No se pudo determinar la pertenencia."
}
# ----------------------------- # -----------------------------