matplotlib 大区间值绘图函数

llycmphe  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(115)

我试图在范围x=[1e27,1e33]中绘制|sin(x)|/x

x=np.logspace(27,33,1000000)
plt.plot(abs(np.sin(x))/x)
plt.xscale('log')

答案必须是平滑阻尼振荡器,但这就是我得到的:

我想这是因为我正在处理的数字很大,有什么建议吗?

nom7f22z

nom7f22z1#

plt.plot(abs(np.sin(x))/x)中,你只指定了y坐标,因此matplotlib使用了整数作为x坐标。因为你有100000个x点,matplotlib x轴从0到1e06。
试试这个:

plt.plot(x, abs(np.sin(x))/x)

相关问题