scipy.special.airy#

scipy.special.airy(z, out=None) = <ufunc 'airy'>#

Airy 函數及其導數。

參數:
zarray_like

實數或複數引數。

outndarray 元組,選用

函數值的選用輸出陣列

回傳值:
Ai、Aip、Bi、Bip純量或 ndarray 的 4 元組

Airy 函數 Ai 和 Bi,及其導數 Aip 和 Bip。

參見

airye

指數縮放的 Airy 函數。

說明

Airy 函數 Ai 和 Bi 是以下方程式的兩個獨立解

\[y''(x) = x y(x).\]

對於實數 z 在 [-10, 10] 範圍內,計算是透過呼叫 Cephes [1] airy 常式來進行,此常式對於小的 z 使用冪級數求和,對於大的 z 使用有理極小極大逼近法。

在此範圍之外,則使用 AMOS [2] zairyzbiry 常式。它們的計算方式為:對於 \(|z| < 1\) 使用冪級數,對於較大的 z 則使用與修正貝索函數的以下關係式 (其中 \(t \equiv 2 z^{3/2}/3\))

\[ \begin{align}\begin{aligned}Ai(z) = \frac{1}{\pi \sqrt{3}} K_{1/3}(t)\\Ai'(z) = -\frac{z}{\pi \sqrt{3}} K_{2/3}(t)\\Bi(z) = \sqrt{\frac{z}{3}} \left(I_{-1/3}(t) + I_{1/3}(t) \right)\\Bi'(z) = \frac{z}{\sqrt{3}} \left(I_{-2/3}(t) + I_{2/3}(t)\right)\end{aligned}\end{align} \]

參考文獻

[1]

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

[2]

Donald E. Amos, “AMOS, A Portable Package for Bessel Functions of a Complex Argument and Nonnegative Order”,http://netlib.org/amos/

範例

計算區間 [-15, 5] 上的 Airy 函數。

>>> import numpy as np
>>> from scipy import special
>>> x = np.linspace(-15, 5, 201)
>>> ai, aip, bi, bip = special.airy(x)

繪製 Ai(x) 和 Bi(x) 的圖。

>>> import matplotlib.pyplot as plt
>>> plt.plot(x, ai, 'r', label='Ai(x)')
>>> plt.plot(x, bi, 'b--', label='Bi(x)')
>>> plt.ylim(-0.5, 1.0)
>>> plt.grid()
>>> plt.legend(loc='upper left')
>>> plt.show()
../../_images/scipy-special-airy-1.png