如何使用sympy进行复杂的操作?

时间:2015-03-26 11:58:31

标签: python sympy

我在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无法自动计算。我想知道如何解决这个问题,谢谢!

1 个答案:

答案 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)