XLPack 6.1
Excel VBA 数値計算ライブラリ・リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ Cairy()

Sub Cairy ( Z As  Complex,
Id As  Long,
Y As  Complex,
Info As  Long,
Optional Kode As  Long = 1 
)

エアリー関数 Ai(z) またはその導関数 Ai'(z) (複素引数)

目的
本ルーチンはエアリー関数 Ai(z) またはその導関数 Ai'(z) を求める.
Ai(z) = (1/π) * ∫ cos((1/3)t^3 + zt) dt [0, ∞]
オーバーフローを避けるためにスケーリング・オプションを使用することができる.
引数
[in]Z引数 z.
[in]Id導関数の次数.
= 0: Ai(z) を求める.
= 1: Ai'(z) を求める.
[out]YAiry関数 Ai(z) またはその導関数 Ai'(z).
Kode = 2 の場合, exp((2/3)*z^(3/2)) でスケーリングする.
[out]Info= 0: 正常終了.
= -2: パラメータ Id の誤り. (Id <> 0 かつ Id <> 1)
= -5: パラメータ Kode の誤り. (Kode <> 1 かつ Kode <> 2)
= 1: アンダーフローのため Y = 0 とした. (Kode = 1において -π/3 < arg(z) < π/3)
= 2: 精度警告. (精度が半分以下になった)
= 3: 精度エラー. (正しく計算できない)
= 4: Kode = 1においてre(Z)が大きすぎるためオーバーフローが起きた.
[in]Kode(省略可)
スケーリングの指定. (省略時 = 1)
= 1: スケーリングなし.
= 2: 指数スケーリングあり.
出典
SLATEC