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


Python SciPy special.powm1用法及代碼示例


本文簡要介紹 python 語言中 scipy.special.powm1 的用法。

用法:

scipy.special.powm1(x, y, out=None) = <ufunc 'powm1'>#

計算 x**y - 1

當 y 接近 0 或 x 接近 1 時,此函數很有用。

該函數僅針對實數類型實現(與接受複雜輸入的 numpy.power 不同)。

參數

x array_like

基地。必須是實數類型(即整數或浮點數,而不是複數)。

y array_like

指數。必須是實數類型(即整數或浮點數,而不是複數)。

返回

array_like

計算結果

注意

底層代碼僅針對單精度和雙精度浮點數實現。與 numpy.power 不同,powm1 的整數輸入將轉換為浮點數,並且不接受複數輸入。

請注意以下邊情況:

  • powm1(x, 0) 對於任何 x 都返回 0,包括 0、infnan

  • powm1(1, y) 對於任何 y 都返回 0,包括 naninf

例子

>>> import numpy as np
>>> from scipy.special import powm1
>>> x = np.array([1.2, 10.0, 0.9999999975])
>>> y = np.array([1e-9, 1e-11, 0.1875])
>>> powm1(x, y)
array([ 1.82321557e-10,  2.30258509e-11, -4.68749998e-10])

可以驗證,這些結果的相對誤差均小於2.5e-16。

將其與 x**y - 1 的結果進行比較,其中相對誤差均大於 8e-8:

>>> x**y - 1
array([ 1.82321491e-10,  2.30258035e-11, -4.68750039e-10])

相關用法


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