要使用 Python 求解一元二次方程的虚根,你可以使用 `numpy` 库的 `sqrt` 函数。下面是一个简单的函数,用于计算一元二次方程的根,并判断它们是否为虚根:
import numpy as np
def solve_quadratic_equation(a, b, c):
检查 a 是否为 0,因为 a=0 不是二次方程
if a == 0:
print("您输入的不是二次方程!")
return
计算判别式
delta = b2 - 4*a*c
如果判别式大于 0,方程有两个实根
if delta > 0:
x1 = (-b + np.sqrt(delta)) / (2*a)
x2 = (-b - np.sqrt(delta)) / (2*a)
print(f"方程有两个实根:x1={x1}, x2={x2}")
return x1, x2
如果判别式等于 0,方程有一个实根
elif delta == 0:
x = -b / (2*a)
print(f"方程有唯一解,x={x}")
return x
如果判别式小于 0,方程有两个虚根
else:
real_part = -b / (2*a)
imaginary_part = np.sqrt(-delta) / (2*a)
x1 = complex(real_part, imaginary_part)
x2 = complex(real_part, -imaginary_part)
print(f"方程有两个虚根:x1={x1}, x2={x2}")
return x1, x2
示例使用
a = 1
b = -3
c = 2
roots = solve_quadratic_equation(a, b, c)
这个函数首先检查 `a` 是否为 0,然后计算判别式 `delta`。根据 `delta` 的值,函数会输出方程的根,如果 `delta` 小于 0,则输出虚根。
请注意,虚根在复数域中表示,通常使用 `j` 或 `J` 表示虚数单位,即 `j 2 = -1`。在上面的代码中,我们使用了 `numpy` 的 `sqrt` 函数来计算平方根,并且为了区分实数和虚数结果,使用了 `complex` 函数来创建复数根。