python 没有正确绘制 "tangent" 函数
python isn't plotting the "tangent" function correctly
我正在尝试将一般正切函数绘制到 Python 中的 matplotlib 上,但结果不正确。
我要绘制的函数是:
$$ f(x) = A tan( \frac{2\pi}{\lambda} x - \phi ) $$
import numpy as np
import math
import matplotlib.pyplot as plt
import tkinter
f = lambda x, A, lambda_, phi: A * math.sin( ((2 * math.pi) / lambda_) * x - phi)
g = lambda x, A, lambda_, phi: A * math.cos( ((2 * math.pi) / lambda_) * x - phi)
h = lambda x, A, lambda_, phi: f(x, A, lambda_, phi) / g(x, A, lambda_, phi)
def generate_graph(A, lambda_, Phi):
plt.figure()
x = np.arange(-.95, .95, 0.005)
#plt.plot(x, [f(k, A, lambda_, Phi) for k in x], color='red')
#plt.plot(x, [g(k, A, lambda_, Phi) for k in x], color='blue')
plt.plt(x, [h(k, A, lambda_, Phi) for k in x], color='green')
plt.show()
A = 1 #amplitude
lambda_ = 3 #wavelength
Phi = 0 #phase shift
generate_graph(A, lambda_, Phi)
它应该看起来像这样:
但它最终看起来像这样:
这是由于正切函数的奇异性(即在这些点周围具有 x
值)造成的。一个快速的解决方法是限制 y-axis,例如
plt.ylim(-40, 40)
给予
我正在尝试将一般正切函数绘制到 Python 中的 matplotlib 上,但结果不正确。
我要绘制的函数是: $$ f(x) = A tan( \frac{2\pi}{\lambda} x - \phi ) $$
import numpy as np
import math
import matplotlib.pyplot as plt
import tkinter
f = lambda x, A, lambda_, phi: A * math.sin( ((2 * math.pi) / lambda_) * x - phi)
g = lambda x, A, lambda_, phi: A * math.cos( ((2 * math.pi) / lambda_) * x - phi)
h = lambda x, A, lambda_, phi: f(x, A, lambda_, phi) / g(x, A, lambda_, phi)
def generate_graph(A, lambda_, Phi):
plt.figure()
x = np.arange(-.95, .95, 0.005)
#plt.plot(x, [f(k, A, lambda_, Phi) for k in x], color='red')
#plt.plot(x, [g(k, A, lambda_, Phi) for k in x], color='blue')
plt.plt(x, [h(k, A, lambda_, Phi) for k in x], color='green')
plt.show()
A = 1 #amplitude
lambda_ = 3 #wavelength
Phi = 0 #phase shift
generate_graph(A, lambda_, Phi)
它应该看起来像这样:
但它最终看起来像这样:
这是由于正切函数的奇异性(即在这些点周围具有 x
值)造成的。一个快速的解决方法是限制 y-axis,例如
plt.ylim(-40, 40)
给予