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

◆ Cbesy()

Sub Cbesy ( Z As  Complex,
Nu As  Double,
N As  Long,
Y() As  Complex,
Info As  Long,
Optional Kode As  Long = 1 
)

第2種ベッセル関数 Yν(z) (複数次数) (実数次) (複素引数)

目的
本ルーチンは第2種ベッセル関数Yν(z)を, 複素数 z および非負の実数次数ν, ν+1, ... について求める.
オーバーフローを避けるためにスケーリング・オプションを使用することができる.
引数
[in]Z引数 z. (Z <> 0)
[in]Nu計算する最初の次数. (Nu >= 0)
[in]N計算する次数の数. (Nu 〜 Nu+N-1 次の N 個の値を計算する) (N >= 1)
[out]Y()配列 Y(LY - 1) (LY >= N)
第2種ベッセル関数値.
Kode = 1: Yν(z) (ν = Nu 〜 Nu+N-1)
Kode = 2: exp(abs(im(z)))*Yν(z) (ν = Nu 〜 Nu+N-1)
[out]Info= 0: 正常終了.
= -1: パラメータ Z の誤り. (Z = 0)
= -2: パラメータ Nu の誤り. (Nu < 0)
= -3: パラメータ N の誤り. (N < 1)
= -4: パラメータ Y() の誤り.
= -6: パラメータ Kode の誤り. (Kode <> 1 かつ Kode <> 2)
= nz (0 < nz <= N): アンダーフローのためY()の最後のnz個の要素が0に設定された.
= N+1: 精度警告. (|Z|またはNu+N-1が大きいため精度が半分以下になった)
= N+2: 精度エラー. (|Z|またはNu+N-1が大きすぎるため正しく計算できない)
= N+3: abs(Z)が小さすぎる, および/または, Nu+N-1が大きすぎるためオーバーフローが起きた.
= N+4: アルゴリズムのエラー. (収束しなかった)
[in]Kode(省略可)
スケーリングの指定. (省略時 = 1)
= 1: スケーリングなし.
= 2: 指数スケーリングあり.
出典
SLATEC