在python中绘制复杂函数

时间:2018-06-19 20:43:26

标签: python function plot complex-numbers

我正在尝试在python中绘制带有可变参数的复杂函数,并且发现了无法解释的差异。我的代码如下所示:

import matplotlib.pyplot as plt
from numpy import pi, exp, real, imag, linspace

def f(t,a,b,c,coef1,coef2,coef3):
    return ( (coef1)*exp(a*1j*t) + (coef2)*exp(b*1j*t) + (coef3)*exp(c*1j*t) )

t = linspace(0, 2*pi, 1000)

plt.plot(real(f(t,1,6,-14,1,-1/2,1j/3)), imag(f(t,1,6,-14,1,-1/2,1j/3)))
plt.plot(real(exp(1j*t) - exp(6j*t)/2 + 1j*exp(-14j*t)/3),imag(exp(1j*t) - exp(6j*t)/2 + 1j*exp(-14j*t)/3) )

# These two lines make the aspect ratio square
fig = plt.gcf()
fig.gca().set_aspect('equal')

plt.show()

The image produced by this code is shown here.

我希望图中两个用红色和绿色表示的功能是相同的。但这显然不是事实。有人可以告诉我我在想什么吗?谢谢。

1 个答案:

答案 0 :(得分:0)

尝试将所有整数替换为浮点数。也许是python2类型的问题。

在python3上,我正在复制您的代码,它们相等。我的依赖版本为:

numpy==1.14.0
matplotlib==2.2.2

更新。问题是-1/2在python2上等于-1