为什么 sympy 不分离实部和虚部

Why is sympy not separating real and imaginary components

与 sympy 一起使用 python。试图只使用实部,但输出仍然是虚部。

display(re(ns.subs(T, 1150)))
display(re(ns.subs(T, 1050)))
display(re(Z.subs(T, 1150)))
display(re(Z.subs(T, 1050)))

这是因为您使用的是指数 0.5 而不是平方根。

我们来做个简单的测试:

print(re((-0.57 + I)**0.5))
# re((-0.57 + I)**0.5)

在这里,输出与您得到的类似。

让我们试试 sqrt:

print(re(sqrt(-0.57 + I)))
# 0.539000466269862

请注意,如果您对表达式进行 lambdify(以便由 Numpy 完成计算),那么您将得到正确的结果:

f = lambdify([], re((-0.57 + I)**0.5))
f()
# 0.5390004662698615