2
我想为下面的程序分离输出的实部和虚部。使用Sympy分离实部和虚部
import sympy as sp
a = sp.symbols('a', imaginary=True)
b=sp.symbols('b',real=True)
V=sp.symbols('V',imaginary=True)
a=4*sp.I
b=5
V=a+b
print V
请帮忙。提前致谢。
我想为下面的程序分离输出的实部和虚部。使用Sympy分离实部和虚部
import sympy as sp
a = sp.symbols('a', imaginary=True)
b=sp.symbols('b',real=True)
V=sp.symbols('V',imaginary=True)
a=4*sp.I
b=5
V=a+b
print V
请帮忙。提前致谢。
线条
b=sp.symbols('b',real=True)
V=sp.symbols('V',imaginary=True)
没有任何效果,因为你覆盖变量b
,并在线路
b=5
V=a+b
了解Python的变量和SymPy符号之间的区别是很重要的使用SymPy时V
。无论何时使用=
,您都在分配一个Python变量,它只是指向您分配给它的数字或表达式的指针。再次赋值会改变指针,而不是表达式。见http://docs.sympy.org/latest/tutorial/intro.html和http://nedbatchelder.com/text/names.html。
做你想做什么,可以使用as_real_imag()
方法,像
In [1]: expr = 4*I + 5
In [2]: expr.as_real_imag()
Out[2]: (5, 4)
您还可以使用re()
和im()
功能:
In [3]: re(expr)
Out[3]: 5
In [4]: im(expr)
Out[4]: 4