我试图用python绘制一个带有变量参数的复杂函数,但发现了一个无法解释的差异。我的代码如下所示:
import matplotlib.pyplot as plt
from numpy import pi, exp, real, imag, linspace
a = 1
b = 6
c = -14
coeff1 = 1
coeff2 = -1 / 2
coeff3 = 1j / 3
def f(t):
return (
coeff1 * exp(a * 1j * t) + coeff2 * exp(b * 1j * t) + coeff3 * exp(c * 1j * t)
)
t = linspace(0, 2 * pi, 1000)
ft = f(t)
plt.plot(real(ft), imag(ft))
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上,我复制了你的代码,它们是相等的。我的依赖项版本是:
更新。问题是-1/2,在python2上等于-1
相关问题 更多 >
编程相关推荐