在 NumPy 中返回一個值朝向另一個值之後下一個浮點值


要在 NumPy 中逐元素返回一個值朝向另一個值之後下一個浮點值,可以使用 **numpy.nextafter()** 方法。第一個引數是要查詢其下一個可表示值的值。第二個引數是查詢下一個可表示值的方向。

該函式返回 x1 在 x2 方向上的下一個可表示值。如果 x1 和 x2 都是標量,則這是一個標量。

out 是將結果儲存到的位置。如果提供,則其形狀必須與輸入廣播到的形狀相同。如果不提供或為 None,則返回一個新分配的陣列。元組(僅可能作為關鍵字引數)的長度必須等於輸出的數量。

條件在輸入上進行廣播。在條件為 True 的位置,out 陣列將設定為 ufunc 結果。在其他位置,out 陣列將保留其原始值。請注意,如果透過預設的 out=None 建立了一個未初始化的 out 陣列,則其中條件為 False 的位置將保持未初始化狀態。

步驟

首先,匯入所需的庫:

import numpy as np

要在 NumPy 中逐元素返回一個值朝向另一個值之後下一個浮點值,可以使用 numpy.nextafter() 方法。

檢查浮點數和無窮大:

print("Result? ", np.nextafter(0.1, np.inf))
print("
Result? ", np.nextafter(0.1, -np.inf))

檢查整數和無窮大:

print("
Result? ", np.nextafter(5, np.inf)) print("
Result? ", np.nextafter(10, -np.inf))

檢查 NaN 和無窮大:

print("
Result? ", np.nextafter(np.nan, np.inf)) print("
Result? ", np.nextafter(np.nan, -np.inf))

檢查 NaN 和無窮大:

print("
Result? ", np.nextafter(np.nan, np.inf)) print("
Result? ", np.nextafter(np.nan, -np.inf))

檢查對數和無窮大:

print("
Result? ", np.nextafter(np.log(1), np.inf)) print("
Result? ", np.nextafter(np.log(2), -np.inf))

示例

import numpy as np

# To return the next floating-point value after a value towards another value, element-wise., use the numpy.nextafter() method in Python Numpy
# The 1st parameter is the value to find the next representable value of.
# The 2nd parameter is the direction where to look for the next representable value.

# Check for float and inf
print("Result? ", np.nextafter(0.1, np.inf))
print("
Result? ", np.nextafter(0.1, -np.inf)) # Check for int and inf print("
Result? ", np.nextafter(5, np.inf)) print("
Result? ", np.nextafter(10, -np.inf)) # Check for nan and inf print("
Result? ", np.nextafter(np.nan, np.inf)) print("
Result? ", np.nextafter(np.nan, -np.inf)) # Check for nan and inf print("
Result? ", np.nextafter(np.nan, np.inf)) print("
Result? ", np.nextafter(np.nan, -np.inf)) # Check for log and inf print("
Result? ", np.nextafter(np.log(1), np.inf)) print("
Result? ", np.nextafter(np.log(2), -np.inf))

輸出

Result? 0.10000000000000002

Result? 0.09999999999999999

Result? 5.000000000000001

Result? 9.999999999999998

Result? nan

Result? nan

Result? nan

Result? nan

Result? 5e-324

Result? 0.6931471805599452

更新於:2022年2月8日

264 次檢視

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.