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


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


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

用法:

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

雙曲正弦和餘弦積分。

雙曲正弦積分是

雙曲餘弦積分為

其中 是歐拉常數, 是對數的主分支[1]。

參數

x array_like

計算雙曲正弦和餘弦積分的實數或複數點。

out ndarray 的元組,可選

函數結果的可選輸出數組

返回

si 標量或 ndarray

x處的雙曲正弦積分

ci 標量或 ndarray

x處的雙曲餘弦積分

注意

對於 x < 0 的實數參數,chi 是雙曲餘弦積分的實部。對於這樣的點 chi(x)chi(x + 0j) 相差 1j*pi 倍。

對於實參,該函數是通過調用 Cephes’ 來計算的[2] 七七常規。對於複雜的參數,該算法基於 Mpmath[3] 例程。

參考

[1]

米爾頓·阿布拉莫維茨和艾琳·A·斯特根編輯。包含公式、圖表和數學表格的數學函數手冊。紐約:多佛,1972 年。(參見第 5.2 節。)

[2]

Cephes 數學函數庫,http://www.netlib.org/cephes/

[3]

弗雷 Delhi 克約翰遜等人。 “mpmath:arbitrary-precision 浮點運算的 Python 庫”(0.19 版)http://mpmath.org/

例子

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.special import shichi, sici

shichi 接受實數或複數輸入:

>>> shichi(0.5)
(0.5069967498196671, -0.05277684495649357)
>>> shichi(0.5 + 2.5j)
((0.11772029666668238+1.831091777729851j),
 (0.29912435887648825+1.7395351121166562j))

雙曲正弦和餘弦積分 Shi(z) 和 Chi(z) 與正弦和餘弦積分 Si(z) 和 Ci(z) 的關係為:

  • Shi(z) = -i*Si(i*z)

  • Chi(z) = Ci(-i*z) + i*pi/2

>>> z = 0.25 + 5j
>>> shi, chi = shichi(z)
>>> shi, -1j*sici(1j*z)[0]            # Should be the same.
((-0.04834719325101729+1.5469354086921228j),
 (-0.04834719325101729+1.5469354086921228j))
>>> chi, sici(-1j*z)[1] + 1j*np.pi/2  # Should be the same.
((-0.19568708973868087+1.556276312103824j),
 (-0.19568708973868087+1.556276312103824j))

繪製在實軸上計算的函數:

>>> xp = np.geomspace(1e-8, 4.0, 250)
>>> x = np.concatenate((-xp[::-1], xp))
>>> shi, chi = shichi(x)
>>> fig, ax = plt.subplots()
>>> ax.plot(x, shi, label='Shi(x)')
>>> ax.plot(x, chi, '--', label='Chi(x)')
>>> ax.set_xlabel('x')
>>> ax.set_title('Hyperbolic Sine and Cosine Integrals')
>>> ax.legend(shadow=True, framealpha=1, loc='lower right')
>>> ax.grid(True)
>>> plt.show()
scipy-special-shichi-1.png

相關用法


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