pythonnumpy算术函数_Numpy常用数学计算函数

Numpy 提供了常用的数学计算函数,通过这些函数我们可以进行三角函数的运算,指数和对数的运算,以及其他基本的数学运算。相比 Python 自带的 Math 库,Numpy 中数学函数最大的优势是可以对序列和数组进行操作。

1. 三角函数

下面主要列举常用的正弦、余弦和正切函数,以及角度和弧度的转换函数。Numpy 中的这些函数都可以传入列表类型的参数,自动对列表中的各个元素进行计算,不需要写循环。示例代码如下。

In [1]: import numpy as np

首先,用 linspace 函数生成一个范围在0到π的等间距的 11 个数,然后调用sin函数计算它的正弦值。同理,还可以计算它们的余弦函数和正切函数。

In [2]: np.sin(np.linspace(0,np.pi,11)) # 正弦函数

Out[2]:

array([0.00000000e+00, 3.09016994e-01, 5.87785252e-01, 8.09016994e-01,

9.51056516e-01, 1.00000000e+00, 9.51056516e-01, 8.09016994e-01,

9.51056516e-01, 1.00000000e+00, 9.51056516e-01, 8.09016994e-01,

5.87785252e-01, 3.09016994e-01, 1.22464680e-16])

In [3]: np.cos(np.linspace(0,np.pi,11)) # 余弦函数

Out[3]:

array([ 1.00000000e+00, 9.51056516e-01, 8.09016994e-01, 5.87785252e-01,

3.09016994e-01, 6.12323400e-17, -3.09016994e-01, -5.87785252e-01,

-8.09016994e-01, -9.51056516e-01, -1.00000000e+00])

In [4]: np.tan(np.linspace(0,np.pi,11)) # 正切函数

Out[4]:

array([ 0.00000000e+00, 3.24919696e-01, 7.26542528e-01, 1.37638192e+00,

3.07768354e+00, 1.63312394e+16, -3.07768354e+00, -1.37638192e+00,

-7.26542528e-01, -3.24919696e-01, -1.22464680e-16])

arcsin 是 sin 函数的反函数,该函数是将正弦值转换为弧度。我们还可以计算反余弦函数和反正切函数。

In [5]: np.arcsin(np.linspace(0,1,11)) # 反正弦函数

Out[5]:

array([0. , 0.10016742, 0.20135792, 0.30469265, 0.41151685,

0.52359878, 0.64350111, 0.7753975 , 0.92729522, 1.11976951,

1.57079633])

In [6]: np.arccos(np.linspace(0,1,11)) # 反余弦函数

Out[6]:

array([1.57079633, 1.47062891, 1.36943841, 1.26610367, 1.15927948,

1.04719755, 0.92729522, 0.79539883, 0.64350111, 0.45102681,

0. ])

In [7]: np.arctan(np.linspace(0,1,11)) # 反正切函数

Out[7]:

array([0. , 0.09966865, 0.19739556, 0.29145679, 0.38050638,

0.46364761, 0.5404195 , 0.61072596, 0.67474094, 0.7328151 ,

0.78539816])

Numpy 中还提供了弧度和角度的转换函数。degrees 方法是将弧度转换为角度,radians 方法是将角度转换为弧度。

In [8]: np.degrees([np.pi,np.pi/2]) # 弧度转角度

Out[8]: array([180., 90.])

In [9]: np.radians([180,90]) # 角度转弧度

Out[9]: array([3.14159265, 1.57079633])

2. 指数与对数

Numpy 中同样提供的指数与对数运算函数。需要注意的是,在计算指数时只提供以自然常数和 2 为底的方法,而在计算对数时只提供以自然常数、2 和 10 为底的方法。示例代码如下。

In [1]: import numpy as np

In [2]: np.exp([1,2,3,4,5]) # 自然常数e的指数值

Out[2]:

array([ 2.71828183, 7.3890561 , 20.08553692, 54.59815003,

148.4131591 ])

In [3]: np.exp2([1,2,3,4,5]) # 计算2的指数值

Out[3]: array([ 2., 4., 8., 16., 32.])

In [4]: np.log([1, np.e,]) # 计算以自然常数为底的对数

Out[4]: array([0., 1.])

In [5]: np.log2([1, np.e,]) # 计算以2为底的对数

Out[5]: array([0. , 1.44269504])

In [6]: np.log10([1, np.e,]) # 计算以10为底的对数

Out[6]: array([0. , 0.43429448])

3. 约数

Numpy 中求约数的方法。约数包括四舍五入、向 0 取整、向上取整和向下取整。示例代码如下。

In [1]: import numpy as np

In [2]: np.around([0.3, 1.7]) # 四舍五入

Out[2]: array([0., 2.])

In [3]: np.rint([-0.2,1.1]) # 四舍五入并保留整数部分

Out[3]: array([-0., 1.])

In [4]: np.fix([-1.6,1.7,1.2]) # 向0取整

Out[4]: array([-1., 1., 1.])

In [5]: np.floor([-1.6,1.7,1.2]) # 向下取整

Out[5]: array([-2., 1., 1.])

In [6]: np.ceil([-1.6,1.7,1.2]) # 向上取整

Out[6]: array([-1., 2., 2.])

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值