对数的应用:放缩x轴或者y轴以更好地表达函数的结果

对数尺度的作用

y = A x n y=Ax^n y=Axn

  • 在实验中 A A A n n n 都是未知数,现在我想求出 A A A n n n
  • 假设 n = 1.5 , A = 1 n=1.5, A=1 n=1.5,A=1,那么我们可以做个图看看
x = np.linspace(1,10,10)
y = 1 * x**3
plt.plot(y)

对数的应用:放缩x轴或者y轴以更好地表达函数的结果_第1张图片

  • 如果我做实验恰好得到一些点,那么我很难知道这些点描述的是 x 3 x^3 x3 还是 x 4 x^4 x4 这其实很难估算
x = np.linspace(1,10,10)
y = 1 * x**3 + np.random.randn(10,) # 随机加一点噪声
plt.scatter(x,y)

对数的应用:放缩x轴或者y轴以更好地表达函数的结果_第2张图片

  • 但如果我们对这个函数两边取对数,也就是采用对数尺度来衡量这个函数,那么
    l o g y = l o g A + l o g x n = l o g A + n l o g x logy=logA + logx^n=logA + nlogx logy=logA+logxn=logA+nlogx

  • 即,使用 l o g log log 尺度的坐标系的话,这个函数其实可以看做是 y = A + n x y=A+nx y=A+nx 所以在对数标尺的图像应该是个直线

x = np.linspace(1,100,100)
y = 1 * x**3
plt.plot(y)
plt.xscale('log')
plt.yscale('log')
plt.plot(y)

对数的应用:放缩x轴或者y轴以更好地表达函数的结果_第3张图片

你可能感兴趣的:(日常学习,python,微积分)