读者大家好!欢迎来到NumPy 三角函数系列教程的第四篇。从本教程开始,我们将从 NumPy 库提供的反三角函数开始。
在本教程中,我们将了解NumPy arcsin函数并练习大量示例。我们还将使用Matplotlib 库绘制 arcsin() 函数。让我们开始吧。
另请阅读:NumPy Cos – 完整指南
反正弦函数 – 快速概述
- 关于这些反三角函数,有一个有趣的事实:这些函数的输出是角度,输入是数字。
- arcsin是正弦函数的反函数的表示。
- arcsin函数接受[-1,1]范围内的输入并生成[-pi/2, pi/2]之间的输出。
什么是 NumPy 反正弦?
NumPy arcsin 是 NumPy 库提供的三角函数之一。实数和复数可以作为输入传递给 NumPy arcsin 函数。
NumPy arcsin 可以作为 访问numpy.arcsin
(input)
。
NumPy arcsin 的语法
语法: numpy.arcsin(input)
其中输入可以是单个数字或 NumPy 数字数组。
单个数字的 NumPy 反正弦
让我们尝试一些 NumPy arcsin 函数的示例,以帮助我们更好地理解它。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 号
18
19
20
21
22
23
|
import numpy as np import math print ( "Printing the Sine inverse values in radians\n" ) print ( "Sin inverse of 0 is :" ,np.arcsin( 0 )) print ( "Sin inverse of 0.5 is :" ,np.arcsin( 0.5 )) print ( "Sin inverse of 1/sqrt(2) is :" ,np.arcsin( 1 / math.sqrt( 2 ))) print ( "Sin inverse of 1 is :" ,np.arcsin( 1 )) print ( "Sin inverse of -1 is :" ,np.arcsin( - 1 )) print ( "\n" ) print ( "Sine inverse values in degrees\n" ) print ( "Sin inverse of 1/sqrt(2) is :" ,np.degrees(np.arcsin( 1 / math.sqrt( 2 )))) print ( "Sin inverse of -1 is :" ,np.degrees(np.arcsin( - 1 ))) |
输出
Printing the Sine inverse values in radians Sin inverse of 0 is : 0.0 Sin inverse of 0.5 is : 0.5235987755982989 Sin inverse of 1/sqrt(2) is : 0.7853981633974482 Sin inverse of 1 is : 1.5707963267948966 Sin inverse of -1 is : -1.5707963267948966 Sine inverse values in degrees Sin inverse of 1/sqrt(2) is : 44.99999999999999 Sin inverse of -1 is : -90.0 |
让我们以 1/sqrt(2) 的正弦倒数为例,它等于 45 度。由于 45 度的正弦为 1/sqrt(2),因此 1/sqrt(2) 的正弦倒数为 45 度。这是理解反三角函数如何计算结果的有趣方法。
上面的代码片段非常清楚,其中 [-1,1] 范围内的数字作为参数传递给函数,arcsin
并且输出是以弧度为单位的角度。
注意:我使用了np.degrees()
一个函数将输出角度转换为度数。
在上述所有情况下,arcsin 函数的输出都位于[-pi/2,pi/2]范围内。
NumPy 复数的反正弦
NumPy arcsin 函数采用复数作为参数。
1
2
3
4
5
6
7
|
import numpy as np print ( "Sin inverse of 1+5j is: " ,np.arcsin( 1 + 5j )) print ( "Sin inverse of 2+3j is: " ,np.arcsin( 2 + 3j )) print ( "Sin inverse of 0.5+0.5j is: " ,np.arcsin( 0.5 + 0.5j )) |
输出
Sin inverse of 1+5j is: (0.1937931365549322+2.3309746530493123j) Sin inverse of 2+3j is: (0.5706527843210994+1.9833870299165355j) Sin inverse of 0.5+0.5j is: (0.45227844715119064+0.5306375309525179j) |
输出也是一个复数。
注意:当 arcsin 函数的输入是复数时,我们不能将 np. Degrees() 函数与 numpy.arcsin() 一起使用。
无效数的 NumPy 反正弦
如果将不在 arcsin 函数域内的数字作为参数传递给函数,则输出为nan。
1
2
3
|
import numpy as np print ( "Sin inverse of 5 is :" ,np.arcsin( 5 )) |
输出
Sin inverse of 5 is : nan |
注意: [-1,1] 范围之外的每个数字都被视为函数的无效输入arcsin
。
多个数字上的 NumPy arcsin
NumPy arcsin 函数还可以将 NumPy 数字数组作为参数。
将 NumPy 数组与 Arcsin 相结合
1
2
3
4
5
6
7
|
import numpy as np a = np.array(( - 1 , 0 , 0.5 , 0.3 , 1 )) print ( "Sine Inverse Values in radians :\n" ,np.arcsin(a)) print ( "Sine Inverse Values in degrees :\n" ,np.degrees(np.arcsin(a))) |
输出
Sine Inverse Values in radians : [-1.57079633 0. 0.52359878 0.30469265 1.57079633] Sine Inverse Values in degrees : [-90. 0. 30. 17.45760312 90. ] |
均匀分布的 NumPy 数组上的 NumPy Arcsin
在此示例中,我们将使用 . 创建一个包含 20 个均匀间隔值的 NumPy 数组numpy.linspace
。
1
2
3
4
5
6
7
|
import numpy as np a = np.linspace( - 1 , 1 , 20 ) print ( "Sin Inverse Values in radians: " ,np.arcsin(a)) print ( "Sin Inverse Values in degrees: " ,np.degrees(np.arcsin(a))) |
输出
Sin Inverse Values in radians: [-1.57079633 -1.1078416 -0.90995103 -0.75352062 -0.6174371 -0.49346939 -0.37731003 -0.26629402 -0.15855828 -0.05265591 0.05265591 0.15855828 0.26629402 0.37731003 0.49346939 0.6174371 0.75352062 0.90995103 1.1078416 1.57079633] Sin Inverse Values in degrees: [-90. -63.47464798 -52.13635364 -43.17355111 -35.37654015 -28.27371363 -21.61827242 -15.25752329 -9.08472029 -3.01696131 3.01696131 9.08472029 15.25752329 21.61827242 28.27371363 35.37654015 43.17355111 52.13635364 63.47464798 90. ] |
可视化反正弦函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import numpy as np # Importing the Matplotlib Library import matplotlib.pyplot as plt # Creating a NumPy Array of 30 evenly-spaced elements a = np.linspace( - 1 , 1 , 30 ) # Storing the computed arcsin values in a NumPy Array b = np.arcsin(a) plt.plot(a, b, color = "blue" , marker = "o" , ms = 5 ,mfc = "r" ) plt.title( "numpy.arcsin()" ) plt.xlabel( "X" ) plt.ylabel( "Y" ) plt.show() |
输出
在图中,Y 轴(垂直轴)上的值是arcsin
函数的输出(以弧度为单位)。
plt.plot()
该函数用于绘制 arcsin 函数,该函数有六个参数。
- 第 一个 参数是 NumPy 数字数组 (在第 7 行中创建),绘制在 X 轴(水平轴)上。
- 第二 个 参数是函数的输出
arcsin
,绘制在 Y 轴(垂直轴)上。 - 第三个参数 是绘图的颜色。
- 第四 个 参数是标记值,它用指定的标记强调每个点。有不同类型的标记可用于表示曲线上的点。
- 第五个参数是曲线上点的大小。(ms 是标记大小)
- 第六个参数是标记的颜色。(mfc是标记FACE颜色)
概括
在本教程中,我们了解了 numpy.arcsin() 函数接受的各种输入。请在阅读文章的同时练习这些代码。在下一个教程中,我们将详细介绍NumPy Arccos 函数。