如何使用sympy进行复杂的操作?
How to conduct complex operations using sympy?
我在 Python 2.7 中使用 sympy。所有数据都是复数。在 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 无法自动计算。我想知道如何解决这个问题,谢谢!
You can also use the standard Python functions float(), complex() to convert SymPy expressions to regular Python numbers
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)
我在 Python 2.7 中使用 sympy。所有数据都是复数。在 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 无法自动计算。我想知道如何解决这个问题,谢谢!
You can also use the standard Python functions float(), complex() to convert SymPy expressions to regular Python numbers
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)