📅  最后修改于: 2023-12-03 15:36:03.650000             🧑  作者: Mango
二次方程指的是一元二次方程,其一般形式为 $ax^2+bx+c=0$,其中 $a,b,c$ 是已知实数,$x$ 是未知实数。
二次方程的解可以使用公式 $\displaystyle x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$ 求得。公式中的 $\sqrt{b^2-4ac}$ 就是二次方程的判别式,通常用符号 $\Delta$ 表示,即
$$ \Delta=b^2-4ac $$
这个判别式 $\Delta$ 的值可以告诉我们二次方程有多少个解以及解的性质。下面分两种情况讨论。
当 $\Delta > 0$ 时,方程有两个实数解。此时,
$$ x_1=\frac{-b+\sqrt{b^2-4ac}}{2a},\quad x_2=\frac{-b-\sqrt{b^2-4ac}}{2a} $$
解的性质如下:
在程序实现二次方程求解的过程中,可以先计算出 $\Delta$ 的值,再根据 $\Delta$ 的正负情况判断方程的解,最后输出解的属性和具体值。
以下是 Python 实现的示例代码:
import math
def solve_quad_eq(a, b, c):
delta = b * b - 4 * a * c
if delta < 0:
return "无实数解"
elif delta == 0:
x = -b / (2 * a)
return f"方程有唯一解 x = {x}"
else:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
return f"方程有两个实数解 x1 = {x1}, x2 = {x2}"
a, b, c = 1, -3, 2
print(solve_quad_eq(a, b, c)) # 方程有两个实数解 x1 = 2.0, x2 = 1.0
当 $\Delta \leqslant 0$ 时,方程没有实数解。此时,方程只有两种可能的解:
在程序实现二次方程求解的过程中,可以先计算出 $\Delta$ 的值,再根据 $\Delta$ 的正负情况判断方程的解。
以下是 Python 实现的示例代码:
import math
def solve_quad_eq(a, b, c):
delta = b * b - 4 * a * c
if delta < 0:
return "无实数解"
elif delta == 0:
x = -b / (2 * a)
return f"方程有唯一解 x = {x}"
else:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
return f"方程有两个实数解 x1 = {x1}, x2 = {x2}"
a, b, c = 1, 2, 3
print(solve_quad_eq(a, b, c)) # 无实数解