一元二次方程求共轭复根python
时间: 2023-10-12 09:06:03 浏览: 152
以下是一个计算一元二次方程共轭复根的Python程序:
```python
import math
def Quadratic_equation(a=1, b=1, c=1):
if a != 0:
print("您计算的一元二次方程为:", f"{a}x**2 {b}x {c}")
d = b ** 2 - 4 * a * c
if d > 0:
d = math.sqrt(d)
x1 = (-b + d) / (2 * a)
x2 = (-b - d) / (2 * a)
print(f'两根:x1={x1}, x2={x2}')
elif d == 0:
x1 = x2 = -b/ (2 * a)
print(f'两根:x1={x1}, x2={x2}')
else:
print('该方程无实数解')
else:
print('您输入的不是一元二次方程')
```
该程序可以通过调用`Quadratic_equation`函数来计算一元二次方程的根。其中,`a`、`b`、`c`为方程的系数,默认值为1。
请注意,这个程序只能计算一元二次方程的实根,如果方程的判别式为负,则没有实数根,而是有共轭复根。
相关问题
编写程序实现关于一元二次方程的公式求解的所有情况(包括不同实根、相同实根、共轭复根)。
好的,以下是一个实现一元二次方程求解的程序:
```python
import math
def solve_quadratic_equation(a, b, c):
delta = b**2 - 4*a*c
if delta > 0:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
return "两个实根分别为:x1 = {}, x2 = {}".format(x1, x2)
elif delta == 0:
x = -b / (2*a)
return "一个实根为:x = {}".format(x)
else:
real_part = -b / (2*a)
imag_part = math.sqrt(-delta) / (2*a)
return "共轭复根为:x1 = {}+{}i, x2 = {}-{}i".format(real_part, imag_part, real_part, imag_part)
# 测试
print(solve_quadratic_equation(1, 2, 1)) # 一个实根为:x = -1.0
print(solve_quadratic_equation(1, -3, 2)) # 两个实根分别为:x1 = 2.0, x2 = 1.0
print(solve_quadratic_equation(1, 2, 2)) # 共轭复根为:x1 = -1.0+1.0i, x2 = -1.0-1.0i
```
希望这个程序能够帮到你!
python计算一元三次方程的代码
以下是计算一元三次方程的Python代码:
```python
import math
a = float(input("请输入一次项系数a:"))
b = float(input("请输入二次项系数b:"))
c = float(input("请输入三次项系数c:"))
d = float(input("请输入常数项d:"))
if a == 0:
print("a不能为0")
else:
delta1 = b * b - 3 * a * c
delta2 = 2 * b * b * b - 9 * a * b * c + 27 * a * a * d
C = (delta2 + math.sqrt(delta2 * delta2 - 4 * delta1 * delta1 * delta1)) / 2
u = math.pow(C, 1 / 3) if C >= 0 else -math.pow(-C, 1 / 3)
if delta1 > 0:
x1 = (-b + u + math.sqrt(delta1)) / (3 * a)
x2 = (-b + u - math.sqrt(delta1)) / (3 * a)
x3 = (-b - 2 * u) / (3 * a)
print("方程的三个实根分别为:", x1, x2, x3)
elif delta1 == 0:
x1 = (-b + u) / (3 * a)
x2 = (-b - u) / (6 * a)
print("方程的一个实根和一个二重实根分别为:", x1, x2)
else:
alpha = (-delta1 + math.sqrt(delta1 * delta1 - 4 * delta2)) / 2
beta = (-delta1 - math.sqrt(delta1 * delta1 - 4 * delta2)) / 2
x1 = (-b + u + math.sqrt(alpha)) / (3 * a)
x2 = (-b + u - math.sqrt(alpha) + math.sqrt(beta)) / (3 * a)
x3 = (-b + u - math.sqrt(alpha) - math.sqrt(beta)) / (3 * a)
print("方程的一个实根和两个共轭复根分别为:")
print("实根为:", x1)
print("共轭复根为:", x2, x3)
```
在运行代码时,会提示用户输入一次项系数、二次项系数、三次项系数和常数项,然后输出方程的根。如果方程有一个实根和两个共轭复根,则输出实根和两个共轭复根。