我在Python 2.7中使用sympy。所有数据都是复数。在同情中,使用I
代表j
。例如,1+2j
将转换为1+2I
。但是当我从sympy.Matrix
选择复杂数据到列表时,I
仍然是I
,它无法转换为j
。所以,在列表中,我得到了一些结果如下:
[-0.00380729396990433 + (0.180207819939565 - 0.083853515413911*I)*(1.73101916117909 - 0.0151308105703527*I) + 0.00494319233978506*I, -0.00380729396990433 + (0.180207819939565 - 0.083853515413911*I)*(1.71894935222892 - 0.138744154478851*I)]
Python无法自动计算。我想知道如何解决这个问题,谢谢!
答案 0 :(得分:0)
如上所述in the documentation,
您还可以使用标准Python函数float(),complex()将SymPy表达式转换为常规Python数字
a = [-0.00380729396990433 + (0.180207819939565 - 0.083853515413911*I)*(1.73101916117909 - 0.0151308105703527*I) + 0.00494319233978506*I, -0.00380729396990433 + (0.180207819939565 - 0.083853515413911*I)*(1.71894935222892 - 0.138744154478851*I)]
print complex(a[0])
这将打印一个包含标准Python复数的元组:
(0.306867123682-0.142935539961j)