用python绘制复杂函数
我试图用python绘制一个带有变量参数的复杂函数,但发现了一个无法解释的差异。我的代码如下所示:用python绘制复杂函数,python,function,plot,complex-numbers,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 = l
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()
我希望图中以红色和绿色显示的两个函数是相同的。但情况显然并非如此。有人能告诉我我错过了什么吗?谢谢。尝试用浮点数替换所有整数。也许这是python2类型的问题 在python3上,我复制了你的代码,它们是相等的。我的依赖项版本是:
numpy==1.14.0
matplotlib==2.2.2
更新。问题是-1/2,它在python2上等于-1,非常明显,用浮点数替换所有整数解决了问题。谢谢