在SymPy中绘制具有复变量的隐式方程

3
我正在尝试在Python中绘制SymPy复数。假设我想绘制以实部为x轴,虚部为y轴的复数单位圆。请参考我的代码:
from sympy import symbols, Eq
from sympy.plotting import plot_implicit

z = symbols('z')
expr = Eq(abs(z), 1)

p1 = plot_implicit(expr)

我通过这个方程定义了单位圆:abs(z)=1。 然后使用plot_implicit绘制表达式。 我得到了两条竖直线,穿过z=-1和z=1,其中z在x轴上,f(z)在y轴上。

我如何实现对复数单位圆的满意绘制?


z = symbols('z', complex=True) - gboffi
@gboffi,我试过了,但是不起作用。 - abegehr
1个回答

4

如果plot_implicit能够直接处理一个复杂符号z,那就太好了,但目前它不能这样做:期望用户提供一个带有两个实数符号的表达式。因此,通过引入实数x,y并使z成为一个带有xy的表达式来实现这一点。

from sympy import symbols, Eq, I
from sympy.plotting import plot_implicit

x, y = symbols('x y', real=True)
z = x + I*y
expr = Eq(abs(z), 1)    
p1 = plot_implicit(expr)

1
非常感谢您的答复!这个方法运行得很好。不幸的是,SymPy的文档在处理复数方面并不是很详细,至少根据我所找到的内容来看。 - abegehr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接