平滑同情图

Smoothing sympy plots

如果我有一个像 sin(1/x) 这样的函数,我想绘制并显示接近 0 的值,我将如何平滑绘图中的结果?对于我要展示的内容,默认的样本点数相对较小。

代码如下:

from sympy import symbols, plot, sin

x = symbols('x')
y = sin(1/x)

plot(y, (x, 0, 0.5))

随着 x 接近 0,该线变得更锯齿并且更少 "curvy"。有什么办法可以解决这个问题吗?

可手动设置使用点数:

plot(y, (x, 0.001, 0.5), adaptive=False, nb_of_points=300000)

注意:我希望在使用确切的问题代码(即 x 从 0 变为某个值)时得到 ZeroDivisionError,但我没有得到错误(奇怪)。我 do 虽然一使用 adaptive=False, nb_of_points=300000 就得到错误,所以这就是为什么我将 xmin 设置为非零值 (0.001).