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.

Pruébelo en el editor

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}")
Salida terminal
Roots of x^2 - 5x + 6 = 0:
Root 1: 2.0
Root 2: 3.0

Implementació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.

Temas relacionados