📅  最后修改于: 2023-12-03 15:21:40.444000             🧑  作者: Mango
二次方程是形如 $ax^2 + bx + c = 0$ 的方程,其中 $a \neq 0$。它的解可以通过求根公式来得到,即:
$$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$$
这个公式可以用来求出二次方程的两个根,如果判别式 $b^2 - 4ac$ 是正数,则有两个不同的实根;如果是零,则有一个重根;如果是负数,则有两个共轭复根。
下面是一个使用 Python 语言编写的计算二次方程根的函数:
def quad_eqn_roots(a, b, c):
"""计算二次方程的根"""
# 计算判别式
discriminant = b ** 2 - 4 * a * c
# 判断根的情况
if discriminant > 0: # 两个实根
root1 = (-b + discriminant ** 0.5) / (2 * a)
root2 = (-b - discriminant ** 0.5) / (2 * a)
return f"该二次方程有两个实根:{root1}, {root2}"
elif discriminant == 0: # 一个重根
root = -b / (2 * a)
return f"该二次方程有一个实根:{root}"
else: # 两个共轭复根
real_part = -b / (2 * a)
imag_part = abs(discriminant) ** 0.5 / (2 * a)
return f"该二次方程有两个共轭复根:{real_part} + {imag_part}i, {real_part} - {imag_part}i"
这个函数接受三个参数 $a, b, c$,分别是二次项系数、一次项系数和常数项,然后根据求根公式和判别式的值来计算根。下面是一个使用示例:
# 求解方程 x^2 + x - 6 = 0 的根
a, b, c = 1, 1, -6
roots = quad_eqn_roots(a, b, c)
print(roots)
# 输出:该二次方程有两个实根:2.0, -3.0
注意,在实现中需要特别注意判别式为负数的情况,以防止出现复数误差。