文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

numpy中的log和ln函数解读

2024-04-02 19:55

关注

numpy的log和ln函数

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

ln函数

import numpy as np


class NumpyStudy:
    def lnFunction(self):
        const = np.e
        result = np.log(const)
        print("函数ln(e)的值为:")
        print(result)


if __name__ == "__main__":
    main = NumpyStudy()
    main.lnFunction()
"""
函数ln(e)的值为:
1.0
"""

我们可以看到得到的值为1,说明在python中,np.log()指代的便是数学中使用的ln函数。

log函数

import numpy as np


class NumpyStudy:
    def logFunction(self):
        const = 100
        result = np.log10(const)
        print("函数ln(e)的值为:")
        print(result)


if __name__ == "__main__":
    main = NumpyStudy()
    main.logFunction()
"""
函数ln(e)的值为:
2.0
"""

我们可以看到得到的值为2,说明在python中,np.log10()指代的便是数学中使用的lg函数。

前几天看到有一个小伙伴留言说,既然以10和以自然数e为底数的目前都有了,那么以其他数比如2,3,4等等为底数的log函数该怎么办呢?

这里我们需要用到一下数学上的小技巧—换底公式进行一下变换。例如:我们想要求出log以2为底16的值。

import numpy as np


class NumpyStudy:
    def lnFunction(self):
        result = np.log(16) / np.log(2)
        result1 = np.log10(16) / np.log10(2)
        print("函数ln(e)的值为:")
        print(result)
        print(result1)


if __name__ == "__main__":
    main = NumpyStudy()
    main.lnFunction()
"""
函数ln(e)的值为:
4.0
4.0
"""

可以看到我们最后成功地获取到了正确的结果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)

这些都是一元通用函数,写代码时可直接用左栏的运算符代替

x=np.arrange(4)
#array([0, 1, 2, 3])
x + 2
#array([2, 3, 4, 5])
np.add(x,2)
#array([2, 3, 4, 5])

2.绝对值通用函数np.absolute()

也可以通过np.abs()访问

其对复数的运算是求模

x=np.array([-2, -1, 0, 1, 2])
abs(x)
#array([2, 1, 0, 1, 2])
np.absolute(x)
#array([2, 1, 0, 1, 2])

3.三角函数

反三角同理

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)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯