[Python] numpy中的log和ln函数解读

2403 0
黑夜隐士 2022-11-6 09:55:47 | 显示全部楼层 |阅读模式
目录

    numpy的log和ln函数
      ln函数log函数
    numpy的部分通用函数
      1.数组算术运算符2.绝对值通用函数np.absolute()3.三角函数4.指数和对数



numpy的log和ln函数

每次当我想用python实现ln函数时,下意识的就会输入错误的函数代码,这里特来记录一下关于numpy中的ln和log函数正确的调用方式。

ln函数
  1. import numpy as np
  2. class NumpyStudy:
  3.   def lnFunction(self):
  4.     const = np.e
  5.     result = np.log(const)
  6.     print("函数ln(e)的值为:")
  7.     print(result)
  8. if __name__ == "__main__":
  9.   main = NumpyStudy()
  10.   main.lnFunction()
  11. """
  12. 函数ln(e)的值为:
  13. 1.0
  14. """
复制代码
我们可以看到得到的值为1,说明在python中,np.log()指代的便是数学中使用的ln函数。

log函数
  1. import numpy as np
  2. class NumpyStudy:
  3.   def logFunction(self):
  4.     const = 100
  5.     result = np.log10(const)
  6.     print("函数ln(e)的值为:")
  7.     print(result)
  8. if __name__ == "__main__":
  9.   main = NumpyStudy()
  10.   main.logFunction()
  11. """
  12. 函数ln(e)的值为:
  13. 2.0
  14. """
复制代码
我们可以看到得到的值为2,说明在python中,np.log10()指代的便是数学中使用的lg函数。
前几天看到有一个小伙伴留言说,既然以10和以自然数e为底数的目前都有了,那么以其他数比如2,3,4等等为底数的log函数该怎么办呢?
这里我们需要用到一下数学上的小技巧—换底公式进行一下变换。例如:我们想要求出log以2为底16的值。

  1. import numpy as np
  2. class NumpyStudy:
  3.     def lnFunction(self):
  4.         result = np.log(16) / np.log(2)
  5.         result1 = np.log10(16) / np.log10(2)
  6.         print("函数ln(e)的值为:")
  7.         print(result)
  8.         print(result1)
  9. if __name__ == "__main__":
  10.     main = NumpyStudy()
  11.     main.lnFunction()
  12. """
  13. 函数ln(e)的值为:
  14. 4.0
  15. 4.0
  16. """
复制代码
可以看到我们最后成功地获取到了正确的结果4.0。用这种方法我们可以获取到以任意数为底数的log函数值。

numpy的部分通用函数


1.数组算术运算符

运算符对应的通用函数描述
+np.add加法运算(即1+1=2)
-np.substract减法运算(即3-2=1)
-np.negative负数运算(即-2)
*Nnp.multiply乘法运算(即2*3=6)
/np.divide除法运算(即3/2=1.5)
//np.floor_divide向下整除运算(floor division,即3//2=1)
**np.power指数运算(即2 ** 3=8)
%np.mod模/余数(即9%4=1)
这些都是一元通用函数,写代码时可直接用左栏的运算符代替
  1. x=np.arrange(4)
  2. #array([0, 1, 2, 3])
  3. x + 2
  4. #array([2, 3, 4, 5])
  5. np.add(x,2)
  6. #array([2, 3, 4, 5])
复制代码
2.绝对值通用函数np.absolute()

也可以通过np.abs()访问
其对复数的运算是求模
  1. x=np.array([-2, -1, 0, 1, 2])
  2. abs(x)
  3. #array([2, 1, 0, 1, 2])
  4. np.absolute(x)
  5. #array([2, 1, 0, 1, 2])
复制代码
3.三角函数

    np.sin()np.cos()np.tan()
反三角同理

4.指数和对数

表达函数
e^xnp.exp(x)
2^xnp.exp2(x)
3^xnp.power(3, x)
ln(x)np.log(x)
log2(x)np.log2(x)
log10(x)np.log10(x)
exp(x)-1np.expm1(x)
log(1+x)np.log1p(x)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持中国红客联盟。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行