NumPy Arcsin – 完整指南

读者大家好!欢迎来到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 函数。

参考

NumPy 文档 – NumPy Arcsin

Matplotlib – 入门

Matplotlib 文档