Python中的numpy.ldexp()
在Python中,numpy.ldexp(arr1, arr2[, out])函数返回arr1 * (2arr2),按元素排序。这也被称为numpy.frexp()函数的逆运算。
语法: numpy.ldexp()
参数:
arr1: [array_like] 乘法器的数组。
arr2: [array_like, int] 两个指数的数组。
out: [ndarray, optional] 输出结果的数组。
返回: [ndarray, scalar] 返回arr1 * (2**arr2)的结果。如果arr1和arr2都是标量,这就是一个标量。
代码 #1:
# Python program explaining
# numpy.ldexp() method
# importing numpy
import numpy as geek
# ldexp() Function on + ve nd -ve Numbers
print(geek.ldexp(6, geek.arange(4)))
print(geek.ldexp(-8, geek.arange(4)))
# ldexp() Function on fractional Number
print(geek.ldexp(5.2, geek.arange(3)))
print(geek.ldexp(-3.2, geek.arange(3)))
输出:
[ 6. 12. 24. 48.]
[ -8. -16. -32. -64.]
[ 5.2 10.4 20.8]
[ -3.2 -6.4 -12.8]
代码#2:不支持复杂的数据类型,它们会引发一个**类型错误。
# Python program explaining
# numpy.ldexp() method
# importing numpy
import numpy as geek
# ldexp() Function on complex dtypes
print(geek.ldexp(-5 + 9J, geek.arange(4)))
输出:
TypeError: ufunc 'ldexp' not supported for the input types