Buscador de raíces de ecuaciones cuadráticas de Python
Resuelve ecuaciones cuadráticas e identifica raíces reales y complejas usando la fórmula discriminante en Python.
Descripción general
Una ecuación cuadrática tiene la forma ax² + bx + c = 0. Resolverla requiere la fórmula cuadrática: `x = (-b ± sqrt(b² - 4ac)) / 2a`.
El término `b² - 4ac` se llama discriminante. Si es positivo, hay dos raíces reales distintas. Si es cero, una raíz real. Si es negativo, dos raíces complejas.
El módulo `cmath` integrado de Python admite números complejos, lo que nos permite encontrar raíces incluso cuando el discriminante es negativo.
Código y salida de ejecución
Solucionador robusto capaz de manejar discriminantes reales, cero y complejos.
import cmath
def find_roots(a, b, c):
d = (b**2) - (4*a*c) # discriminant
# Calculate both roots
sol1 = (-b - cmath.sqrt(d)) / (2*a)
sol2 = (-b + cmath.sqrt(d)) / (2*a)
return sol1, sol2
# Test equation: x^2 - 5x + 6 = 0
r1, r2 = find_roots(1, -5, 6)
print("Roots of x^2 - 5x + 6 = 0:")
print(f"Root 1: {r1.real:.1f}")
print(f"Root 2: {r2.real:.1f}")Roots of x^2 - 5x + 6 = 0:
Root 1: 2.0
Root 2: 3.0Implementación paso a paso
- Modelos físicos y sistemas de seguimiento de trayectorias.
- Vectores de detección de colisiones geométricas
- Solucionadores matemáticos
Preguntas frecuentes
¿Por qué utilizar "cmath" en lugar de "math"?
El módulo estándar "matemático" generará un ValueError si intentas sacar la raíz cuadrada de un número negativo. El módulo `cmath` (matemáticas complejas) maneja automáticamente raíces imaginarias.