72 lines
1.7 KiB
Python
72 lines
1.7 KiB
Python
#!/usr/bin/env python3
|
|
from sympy import symbols, Eq, solve, pprint
|
|
|
|
print("🧪 Probando Sistema de Ecuaciones Puras con SymPy")
|
|
print("=" * 50)
|
|
|
|
# Test 1: Sistema simple
|
|
print("\n📌 Test 1: Sistema simple")
|
|
x, y, z = symbols('x y z')
|
|
eq1 = Eq(x, 5)
|
|
eq2 = Eq(y, x + 3)
|
|
eq3 = Eq(z, x + y)
|
|
sistema1 = [eq1, eq2, eq3]
|
|
|
|
print("Sistema:")
|
|
for i, eq in enumerate(sistema1, 1):
|
|
print(f" eq{i}: {eq}")
|
|
|
|
result1 = solve(sistema1)
|
|
print(f"Solución: {result1}")
|
|
|
|
# Test 2: Sistema más complejo
|
|
print("\n📌 Test 2: Sistema con conflicto")
|
|
m, t, u = symbols('m t u')
|
|
eq4 = Eq(m, t + u * 5)
|
|
eq5 = Eq(t, 4)
|
|
eq6 = Eq(m, 3)
|
|
sistema2 = [eq4, eq5, eq6]
|
|
|
|
print("Sistema:")
|
|
for i, eq in enumerate(sistema2, 1):
|
|
print(f" eq{i}: {eq}")
|
|
|
|
result2 = solve(sistema2)
|
|
print(f"Solución: {result2}")
|
|
|
|
# Test 3: Sistema inconsistente
|
|
print("\n📌 Test 3: Sistema inconsistente")
|
|
a, b = symbols('a b')
|
|
eq7 = Eq(a, 5)
|
|
eq8 = Eq(a, 10)
|
|
sistema3 = [eq7, eq8]
|
|
|
|
print("Sistema:")
|
|
for i, eq in enumerate(sistema3, 1):
|
|
print(f" eq{i}: {eq}")
|
|
|
|
result3 = solve(sistema3)
|
|
print(f"Solución: {result3}")
|
|
|
|
# Test 4: Variables libres
|
|
print("\n📌 Test 4: Variables libres")
|
|
p, q, r = symbols('p q r')
|
|
eq9 = Eq(p, q + 2)
|
|
eq10 = Eq(r, p * 3)
|
|
sistema4 = [eq9, eq10]
|
|
|
|
print("Sistema:")
|
|
for i, eq in enumerate(sistema4, 1):
|
|
print(f" eq{i}: {eq}")
|
|
|
|
result4 = solve(sistema4)
|
|
print(f"Solución: {result4}")
|
|
|
|
# Test 5: Evaluación numérica automática
|
|
print("\n📌 Test 5: Evaluación numérica")
|
|
if result2:
|
|
print("Evaluación numérica automática:")
|
|
for var, val in result2.items():
|
|
print(f" {var} = {val} ≈ {val.evalf()}")
|
|
|
|
print("\n✅ Conclusión: SymPy maneja perfectamente sistemas de ecuaciones puras!") |