Составьте неявное уравнение с комплексной переменной в SymPy

1

Я пытаюсь построить комплексное число SymPy в python.

Скажем, я хочу построить сложную единичную окружность с вещественной частью на оси х и мнимой частью по оси у. Смотрите мой код:

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.

Как я могу добиться удовлетворительного построения сложного единичного круга?

  • 0
    z = symbols('z', complex=True)
  • 0
    @gboffi, я пробовал, но это не работает.
Теги:
sympy
plot
complex-numbers

1 ответ

1
Лучший ответ

Было бы неплохо, если plot_implicit мог работать напрямую с одним сложным символом z, но в настоящее время он не может: ожидание заключается в том, что пользователь предоставляет выражение с двумя реальными символами. Так и сделайте это, введя вещественные x, y и сделав z выражением с x и y.

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)
  • 0
    Спасибо за ваш ответ! Это прекрасно работает. К сожалению, документы SymPy не очень сильны в том, как обрабатывать сложные числа, по крайней мере из того, что я нашел.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню