16.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(np.sin(arr * np.pi/180))
- print(np.cos(arr * np.pi/180))
- print(np.tan(arr * np.pi/180))
输出结果如下:
sin()正弦值:
[0.00000000e+00 5.00000000e-01 8.66025404e-01 1.00000000e+00
8.66025404e-01 5.00000000e-01 1.22464680e-16]
cos()余弦值:
[ 1.00000000e+00 8.66025404e-01 5.00000000e-01 6.12323400e-17
-5.00000000e-01 -8.66025404e-01 -1.00000000e+00]
tan()正切值:
[ 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(sinval)
- #计算角度反正弦,返回值以弧度为单位
- cosec = np.arcsin(sinval)
- print(cosec)
- #通过degrees函数转化为角度进行验证
- print(np.degrees(cosec))
- #余弦值数组
- cosval = np.cos(arr*np.pi/180)
- print(cosval)
- #计算反余弦值,以弧度为单位
- sec = np.arccos(cosval)
- print(sec)
- #通过degrees函数转化为角度进行验证
- print(np.degrees(sec))
- #下面是tan()正切函数
- tanval = np.tan(arr*np.pi/180)
- print(tanval)
- cot = np.arctan(tanval)
- print(cot)
- print(np.degrees(cot))
输出结果:
正选值数组:
[0. 0.5 0.8660254 1. ]
#计算角度反正弦值,以弧度为单位
[0. 0.52359878 1.04719755 1.57079633]
通过degrees验证
[ 0. 30. 60. 90.]
余弦数组:
[1.00000000e+00 8.66025404e-01 5.00000000e-01 6.12323400e-17]
通过degrees验证
[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]
通过degrees验证
[ 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))
输出结果:
原数组arr:[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.]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具