Поиск корней квадратного уравнения Python
Решайте квадратные уравнения и находите действительные и комплексные корни, используя дискриминантную формулу в Python.
Обзор
Квадратное уравнение имеет вид ax² + bx + c = 0. Для его решения требуется квадратная формула: `x = (-b ± sqrt(b² - 4ac)) / 2a`.
Член `b² - 4ac` называется дискриминантом. Если положительный, существует два различных действительных корня. Если ноль, то один действительный корень. Если отрицательно, то два комплексных корня.
Встроенный в Python модуль cmath поддерживает комплексные числа, что позволяет нам находить корни, даже если дискриминант отрицательный.
Код и вывод выполнения
Надежный решатель, способный обрабатывать действительные, нулевые и комплексные дискриминанты.
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.0Пошаговая реализация
- Физические модели и системы отслеживания траекторий
- Геометрические векторы обнаружения столкновений
- Математические решатели
Часто задаваемые вопросы
Зачем использовать cmath вместо math?
Стандартный модуль math выдаст ошибку ValueError, если вы попытаетесь извлечь квадратный корень из отрицательного числа. Модуль cmath (сложная математика) автоматически обрабатывает мнимые корни.