NumPy - 三角函数 ufunc
三角函数通用函数 (ufunc)
NumPy 中的三角函数通用函数 (ufunc) 是对数组中每个元素执行三角运算的函数。这些函数可以为输入数组中的每个元素计算各种三角值,如正弦、余弦、正切及其反函数。
这些函数对数组进行逐元素操作,并针对性能进行了优化,使其比使用 Python 循环快得多。
NumPy 正弦函数
numpy.sin() 函数用于计算数组中每个元素的正弦值。输入值假定为弧度。
直角三角形中角度的正弦是对边长与斜边长的比率。它表示为 sin()。
示例
在以下示例中,我们使用 numpy.sin() 函数计算数组中每个元素的正弦值 −
import numpy as np
# 定义一个以弧度为单位的角数组
angles = np.array([0, np.pi/2, np.pi, 3*np.pi/2])
# 计算每个角度的正弦值
sine_values = np.sin(angles)
print("Sine values:", sine_values)
得到以下输出 −
Sine values: [ 0.0000000e+00 1.0000000e+00 1.2246468e-16 -1.0000000e+00]
NumPy 余弦函数
numpy.cos() 函数用于计算数组中每个元素的余弦值。
直角三角形中角度的余弦是邻边长与斜边长的比率。它表示为 cos()。
示例
在以下示例中,我们使用 numpy.cos() 函数计算数组中每个元素的余弦值 −
import numpy as np
# 定义一个以弧度为单位的角数组
angles = np.array([0, np.pi/2, np.pi, 3*np.pi/2])
# 计算每个角度的余弦值
cosine_values = np.cos(angles)
print("Cosine values:", cosine_values)
将产生以下结果 −
Cosine values: [ 1.0000000e+00 6.1232340e-17 -1.0000000e+00 -1.8369702e-16]
NumPy 正切函数
numpy.tan() 函数用于计算数组中每个元素的正切值。
直角三角形中角度的正切是对边长与邻边长的比率。它表示为 tan()。
示例
在以下示例中,我们使用 numpy.tan() 函数计算数组中每个元素的正切值 −
import numpy as np
# 定义一个以弧度为单位的角数组
angles = np.array([0, np.pi/4, np.pi/2, np.pi])
# 计算每个角度的正切值
tangent_values = np.tan(angles)
print("Tangent values:", tangent_values)
产生的结果如下 −
Tangent values: [ 0.00000000e+00 1.00000000e+00 1.63312394e+16 -1.22464680e-16]
NumPy 还提供了计算数组元素反三角函数(反正弦、反余弦和反正切)的函数。这些函数返回给定三角值的角度(以弧度为单位)。
NumPy 反正弦函数
numpy.arcsin() 函数用于计算数组中每个元素的反正弦值,返回以弧度为单位的角。
反正弦是正弦的反函数,返回正弦值为给定数字的角度。它表示为 arcsin(x) 或 sin⁻¹(x)。
示例
在本示例中,我们使用 numpy.arcsin() 函数计算数组中每个元素的反正弦值 −
import numpy as np
# 定义一个以弧度为单位的角数组
angles = np.array([0, np.pi/4, np.pi/2, np.pi])
# 计算每个角度的反正弦值
inverse_sine_values = np.arcsin(angles)
print("Inverse Sine values:", inverse_sine_values)
我们得到如下所示的输出 −
Inverse Sine values: [0. 0.90333911 nan nan]
NumPy Arccosine 函数
numpy.arccos() 函数用于计算数组中每个元素的反余弦,返回以弧度为单位的角。
反余弦是余弦的反函数,返回余弦值为给定数字的角。它表示为 arccos(x) 或 cos-1(x)。
示例
在本示例中,我们使用 numpy.arccos() 函数计算数组中每个元素的反余弦 −
import numpy as np
# 定义一个以弧度为单位的角数组
angles = np.array([0, np.pi/4, np.pi/2, np.pi])
# 计算每个角的反余弦
inverse_cosine_values = np.arccos(angles)
print("反余弦值:", inverse_cosine_values)
执行上述代码后,我们得到以下输出 −
反余弦值: [1.57079633 0.66745722 nan nan]
NumPy Arctangent 函数
numpy.arctan() 函数用于计算数组中每个元素的反正切,返回以弧度为单位的角。
反正切是正切的逆函数,返回正切值为给定数字的角。它表示为 arctan(x) 或 tan-1(x)。
示例
在下面的示例中,我们使用 numpy.arctan() 函数计算数组中每个元素的反正切 −
import numpy as np
# 定义一个以弧度为单位的角数组
angles = np.array([0, np.pi/4, np.pi/2, np.pi])
# 计算每个角的反正切
inverse_tangent_values = np.arctan(angles)
print("反正切值:", inverse_tangent_values)
执行上述代码后,我们得到以下输出 −
反正切值: [0. 0.66577375 1.00388482 1.26262726]
NumPy 双曲函数
双曲函数是类似于三角函数的数学函数,但基于双曲线而非圆。
NumPy 还提供了用于计算数组元素双曲正弦 (sinh)、双曲余弦 (cosh) 和双曲正切 (tanh) 以及它们的反函数。这些函数类似于三角函数,但应用于双曲角。
示例
在下面的示例中,我们使用 numpy.sinh()、numpy.cosh() 和 numpy.tanh() 函数计算数组中元素的双曲值 −
import numpy as np
# 定义一个值数组
values = np.array([0, 1, 2])
# 计算双曲值
sinh_values = np.sinh(values)
cosh_values = np.cosh(values)
tanh_values = np.tanh(values)
print("双曲正弦值:", sinh_values)
print("双曲余弦值:", cosh_values)
print("双曲正切值:", tanh_values)
这将产生以下结果 −
双曲正弦值: [0. 1.17520119 3.62686041] 双曲余弦值: [1. 1.54308063 3.76219569] 双曲正切值: [0. 0.76159416 0.96402758]