當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python NumPy logaddexp方法用法及代碼示例


Numpy 的 logaddexp(~) 方法計算 log(exp(x1)+exp(x2)) ,其中 x1x2 是輸入數組。這個表達式很有用,因為它經常出現在統計數據中。

參數

1. x1 | array-like

第一個輸入數組。

2. x1 | array-like

第二個輸入數組。

3. out | Numpy array | optional

您可以將計算結果放入 out 指定的數組中,而不是創建新數組。

4. where | booleanarray | optional

標記為 False 的值將被忽略,即它們的原始值將未被初始化。如果指定了 out 參數,行為會略有不同 - 原始值將保持不變。由於這讓許多人感到困惑,請查看下麵的示例。

返回值

包含 log(p+1) 結果的 Numpy 數組,其中 p 是輸入數組中的每個值。

例子

基本用法

np.logaddexp([1,2],[3,4])



array([3.12692801, 4.12692801])

指定輸出數組

a = np.zeros(2)
np.logaddexp([1,2], [3,4], out=a)
a



array([3.12692801, 4.12692801])

在這裏,我們將結果輸出到數組 a 中。

指定布爾掩碼

np.logaddexp([1,2,3], [4,5,6], where=[False, True, False])



array([20.00000011,  5.04858735,  6.04858735])

這裏,僅使用第二個數字進行計算,因為它在掩碼中具有相應的布爾值True。您應該注意到 False 的值如何產生奇怪的結果 - 事實上,您應該忽略它們,因為它們是沒有實際用途的未初始化數字。

現在,如果您指定了 out 參數,而不是未初始化的值,則原始值將保持不變:

a = np.zeros(3)
np.logaddexp([1,2,3], [4,5,6], out=a, where=[False, True, False])
a



array([0.        , 5.04858735, 0.        ])

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 NumPy | logaddexp method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。