16-NumPy数学函数

NumPy数学函数

NumPy 中包含了大量的数学函数,它们用于执行各种数学运算,其中包括三角函数、舍入函数等等。

NumPy 中提供了用于弧度计算的的 sin()(正弦)、cos()(余弦)和 tan()(正切)三角函数。

示例如下:

import numpy as np
arr = np.array([0, 30, 60, 90, 120, 150, 180])
#计算arr数组中给定角度的三角函数值
#通过乘以np.pi/180将其转换为弧度
print("正弦值:\n",np.sin(arr * np.pi/180))
print("余弦值:\n",np.cos(arr * np.pi/180))
print("正切值:\n",np.tan(arr * np.pi/180))

输出结果如下:

正弦值:
 [0.00000000e+00 5.00000000e-01 8.66025404e-01 1.00000000e+00
 8.66025404e-01 5.00000000e-01 1.22464680e-16]
余弦值:
 [ 1.00000000e+00  8.66025404e-01  5.00000000e-01  6.12323400e-17
 -5.00000000e-01 -8.66025404e-01 -1.00000000e+00]
正切值:
 [ 0.00000000e+00  5.77350269e-01  1.73205081e+00  1.63312394e+16
 -1.73205081e+00 -5.77350269e-01 -1.22464680e-16]

除了上述三角函数以外,NumPy 还提供了 arcsin,arcos 和 arctan 反三角函数。

若要想验证反三角函数的结果,可以通过 numpy.degrees() 将弧度转换为角度来实现,示例如下:

import numpy as np
arr = np.array([0, 30, 60, 90])
#正弦值数组
sinval = np.sin(arr*np.pi/180)
print("正弦值:\n",sinval)
#计算角度反正弦,返回值以弧度为单位
cosec = np.arcsin(sinval)
print("反正弦值:\n",cosec)
#通过degrees函数转化为角度进行验证
print("正弦角度值:\n",np.degrees(cosec))
#余弦值数组
cosval = np.cos(arr*np.pi/180)
print("余弦值:\n",cosval)
#计算反余弦值,以弧度为单位
sec = np.arccos(cosval)
print("反余弦值:\n",sec)
#通过degrees函数转化为角度进行验证
print("余弦角度值:\n",np.degrees(sec))
#下面是tan()正切函数
tanval = np.tan(arr*np.pi/180)
print("正切值:\n",tanval)
cot = np.arctan(tanval)
print("反余弦值:\n",cot)
print("余弦角度值:\n",np.degrees(cot))

输出结果:

正弦值:
 [0.        0.5       0.8660254 1.       ]
反正弦值:
 [0.         0.52359878 1.04719755 1.57079633]
正弦角度值:
 [ 0. 30. 60. 90.]
余弦值:
 [1.00000000e+00 8.66025404e-01 5.00000000e-01 6.12323400e-17]
反余弦值:
 [0.         0.52359878 1.04719755 1.57079633]
余弦角度值:
 [ 0. 30. 60. 90.]
正切值:
 [0.00000000e+00 5.77350269e-01 1.73205081e+00 1.63312394e+16]
反余弦值:
 [0.         0.52359878 1.04719755 1.57079633]
余弦角度值:
 [ 0. 30. 60. 90.]

舍入函数

NumPy 提供了三个舍入函数,介绍如下:

1) numpy.around()

该函数返回一个十进制值数,并将数值四舍五入到指定的小数位上。该函数的语法如下:

numpy.around(a,decimals)

参数说明:

  • a:代表要输入的数组;
  • decimals:要舍入到的小数位数。它的默认值为0,如果为负数,则小数点将移到整数左侧。

示例如下:

import numpy as np
arr = np.array([12.202, 90.23120, 123.020, 23.202])
print(arr)
print("数组值四舍五入到小数点后两位",np.around(arr, 2))
print("数组值四舍五入到小数点后-1位",np.around(arr, -1))  

输出结果:

[ 12.202   90.2312 123.02    23.202 ]
数组值四舍五入到小数点后两位 [ 12.2   90.23 123.02  23.2 ]
数组值四舍五入到小数点后-1位 [ 10.  90. 120.  20.]
2) numpy.floor()

该函数表示对数组中的每个元素向下取整数,即返回不大于数组中每个元素值的最大整数。示例如下:

import numpy as np
a = np.array([-1.8,  1.1,  -0.4,  0.9,  18])
#对数组a向下取整
print (np.floor(a))

输出结果:

[-2. 1. -1. 0. 18.]
3) numpy.ceil()

该函数与 floor 函数相反,表示向上取整。示例如下:

import numpy as np
a = np.array([-1.8,  1.1,  -0.4,  0.9,  18])
#对数组a向上取整
print (np.ceil(a))

输出结果:

[-1. 2. -0. 1. 18.]

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值