📜  二次方程的根(1)

📅  最后修改于: 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

注意,在实现中需要特别注意判别式为负数的情况,以防止出现复数误差。