numpy Python -如何只得到复数的真实的部

l3zydbqr  于 2023-03-23  发布在  Python
关注(0)|答案(2)|浏览(199)

我有下面的代码片段,其中np.roots函数将提供两个复数和一个真实的。我能够提取实数根,但输出总是复数。我如何才能更改为仅实数。

Cd = 0.88
coeff = [1, -3, (3+Cd**2), (Cd**2 - 1)]
roots = np.roots(coeff)
X = (roots[np.isreal(roots)]);
print (X)

输出通常为

[0.05944403+0.j]

但是,如何才能只得到以下内容作为输出?

0.059444

我寻找它的原因是,我接下来的所有计算都是复数。

hkmswyz6

hkmswyz61#

我想你是在找.real

Cd = 0.88
coeff = [1, -3, (3+Cd**2), (Cd**2 - 1)]
roots = np.roots(coeff)
X = (roots[np.isreal(roots)]);
print (X.real)

此外,考虑X.imag作为虚部。

ffscu2ro

ffscu2ro2#

你可以使用.真实的来得到复数的实部

import numpy as np
Cd = 0.88
coeff = [1, -3, (3+Cd**2), (Cd**2 - 1)]
roots = np.roots(coeff)
X = (roots[np.isreal(roots)]);
print (X)
print (X.real) # print(X.imag)

另外,python有.imag来获取虚部

相关问题