在 Numpy 中使用 numpy.ldexp()

numpyserver side programmingprogramming更新于 2025/9/26 7:22:17

要逐元素返回 x1 * 2**x2,请使用 Python Numpy 中的 numpy.ldexp() 方法。第一个参数 X1 是乘数数组。第二个参数 X2 是二的指数数组。如果 x1.shape != x2.shape,则它们必须能够广播到相同的形状(该形状将成为输出的形状)。

输出是存储结果的位置。如果提供,则输出必须具有输入广播到的形状。如果未提供或为 None,则返回一个新分配的数组。元组(只能作为关键字参数)的长度必须等于输出的数量。

条件通过输入进行广播。当条件为 True 时,out 数组将被设置为 ufunc 的结果。在其他情况下,out 数组将保留其原始值。请注意,如果通过默认的 out=None 创建了未初始化的 out 数组,则其中条件为 False 的位置将保持未初始化状态。

步骤

首先,导入所需的库 −

import numpy as np

要逐元素返回 x1 * 2**x2,请使用 Python Numpy 中的 numpy.ldexp() 方法。

检查浮点数是否为负数

print("Result? ", np.ldexp(5.6, np.arange(3)))

检查浮点数是否为负数

print("Result? ", np.ldexp(-7.5, np.arange(3)))

检查整数是否为负数

print("Result? ", np.ldexp(9, np.arange(3)))

检查整数是否为负数−

print("Result? ", np.ldexp(106, np.arange(3)))

检查 nan −

print("Result? ", np.ldexp(np.nan, np.arange(3)))

检查 inf −

print("Result? ", np.ldexp(np.inf, np.arange(3)))

示例

import numpy as np

# 要按元素返回 x1 * 2**x2,请使用 Python Numpy 中的 numpy.ldexp() 方法。
# 第一个参数 X1 是乘数数组。
# 第二个参数 X2 是 2 的指数数组。
# 如果 x1.shape != x2.shape,则它们必须可广播到通用形状(该形状将成为输出的形状)。

# 检查浮点数
print("Result? ", np.ldexp(5.6, np.arange(3)))

# 检查负浮点数
print("Result? ", np.ldexp(-7.5, np.arange(3)))

# 检查整数
print("Result? ", np.ldexp(9, np.arange(3)))

# 检查负整数
print("Result? ", np.ldexp(106, np.arange(3)))

# 检查nan
print("Result? ", np.ldexp(np.nan, np.arange(3)))

# 检查inf
print("Result? ", np.ldexp(np.inf, np.arange(3)))

# 检查对数
print("Result? ", np.ldexp(np.log(1), np.arange(3)))

输出

Result? [ 5.6 11.2 22.4]
Result? [ -7.5 -15. -30. ]
Result? [ 9. 18. 36.]
Result? [106. 212. 424.]
Result? [nan nan nan]
Result? [inf inf inf]
Result? [0. 0. 0.]

相关文章