我想找出垂直渐近线:
f=(3x^3+17x^2+6x+1)/(2x^3-x+3)
所以我想找出(2x^3-x+3)的根,所以我写道:

 import sympy as sy
 x = sy.Symbol('x', real=True)
 asym1 = sy.solve(2*x**3-x+3,x)
 for i in range(len(asym1)):
     asym1[i] = asym1[i].evalf()
 print(asym1)

结果是:
[0.644811950742531 + 0.864492542166306*I, 0.644811950742531 -
0.864492542166306*I, -1.28962390148506]

所以现在输出中唯一有意义的数字是-1.289,复数没有任何意义。
我的问题是:我如何才能只选择实数,这样输出就说:
asym1 = -1.28962390148506

最佳答案

你可以:

asym1 = [n for n in asym1 if n.is_real][0]

关于python - 如何仅从数组中选择实数? (Python 3),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51574700/

10-12 15:29