有没有办法在方程式解决方案中固定“ j”?

时间:2019-07-03 16:47:07

标签: python math

我正在尝试编写一个求解二次方程的脚本,但是答案中有一个'j'。

我尝试使用常规数学模块,但这给了我一个错误,尽管'cmath'给了我这个。

这是我的代码:

import math
import cmath
import time

print("Please enter A, B, and C values")

A = float(input("A: "))
B = float(input("B: "))
C = float(input("C: "))

X = B*-1 + cmath.sqrt(B**2 - 4*A*C)/(2*A)
Y = B*-1 - cmath.sqrt(B**2 - 4*A*C)/(2*A)

print(X, Y)

虽然它为我提供了二次方的解决方案,但它们的形式难以理解,对我来说毫无用处。有没有办法让它显示实际值?

答案如下: (-4 + 1j)(-4-1j) 有什么方法可以转换这些东西吗?

1 个答案:

答案 0 :(得分:5)

cmath中的“ c”表示“复杂”。您提供的输入没有二次方的实值解,这就是为什么使用常规数学模块时会出错的原因。

'j'是Python对复数sqrt(-1)的表示。在许多领域(例如我自己的电气工程),使用“ j”代替“ i”(在数学上很常见),以避免与用“ i”表示的其他事物(例如电流)混淆。

Wikipedia link