在Python中用scimath计算反双曲切线
在这篇文章中,我们将介绍如何在Python中使用NumPy用scimath计算反双曲正切。
numpy.emath.arctanh 方法
反双曲正切也被称为arctanh或tanh-1。为了计算反双曲正切,Python提供了一个名为arctanh的方法,它存在于numpy.emath包中。arctanh方法接受一个数组,可以是实数,也可以是复数,并返回arctanh(x)的主值。arctanh方法的输出取决于输入的数组元素。如果x=1,那么它返回Infinity。如果x=-1,那么它返回-无穷大。如果x的绝对值大于1,即abs(x)>1,或者对于复数,结果总是一个复数。下面是emath.arctanh的语法。
语法: numpy.emath.arctanh(x, out=None)
参数
- x- 它是一个输入数组。
- out- 它指定了存储结果的位置。这是一个可选的参数。
返回一个与输入数组x相同形状的数组,结果数组由主值组成。
示例 1
在下面的代码中,我们向arctanh方法传递了一个由>1的数值组成的输入数组。由于所有的abs(x)>1,arctanh方法返回复数的数组。
# import necessary packages
import numpy as np
# Create an input array
x = np.array([2, 3, 4])
# input array before computation
print("Input array->", x)
# compute the inverse hyperbolic tangent
# using arctanh method
print("Resultant Array->", np.emath.arctanh(x))
输出
Input array-> [2 3 4]
Resultant Array-> [0.54930614+1.57079633j 0.34657359+1.57079633j 0.25541281+1.57079633j]
示例 2
这里我们把一个由1,-1组成的输入数组传递给arctanh方法。对于1,-1的值,arctanh方法分别返回Infinity和-Infinity值作为结果。
# import necessary packages
import numpy as np
# Create an input array
x = np.array([1, -1])
# input array before computation
print("Input array->", x)
# compute the inverse hyperbolic tangent using
# arctanh method
print("Resultant Array->", np.emath.arctanh(x))
输出
Input array-> [ 1 -1]
Resultant Array-> [ inf -inf]
示例 3
# import necessary packages
import numpy as np
# Create an input array
x = np.array([-1, 0, 1, 5])
# input array before computation
print("Input array->", x)
# compute the inverse hyperbolic tangent
# using arctanh method
print("Resultant Array->", np.emath.arctanh(x))
输出
Input array-> [-1 0 1 5]
Resultant Array-> [-inf+0.j 0.+0.j inf+0.j
0.20273255+1.57079633j]