用SymPy绘制tan()时出现问题

时间:2018-08-27 03:16:45

标签: sympy

我正在尝试使用sympy绘制各种触发函数。这在正弦,余弦等情况下都可以正常工作,但是tan()显示的结果更奇怪。此外,如果仅重新运行plot()函数,则每次都会得到不同的结果。

from sympy import symbols
from sympy.functions.elementary.trigonometric import tan
from sympy.plotting.plot import plot

x = symbols('x')
eqn = tan(x)
plot(eqn, (x, -10, 10))

1 个答案:

答案 0 :(得分:2)

我了解这通常不是可视化切线函数的方式:

tan1

但这没错。 SymPy发现y值非常大,并据此选择了垂直比例尺。在这种规模上,除了非常接近奇异点以外,所有值实际上都为零。奇点附近的尖峰高度不相等是因为评估点不会准确地碰到任何pi/2 + pi*n,而它们接近的程度取决于n是什么。

总而言之,您需要一个合理的垂直比例尺,并用ylim强制执行:

plot(eqn, (x, -10, 10), ylim=(-20, 20))

tan2