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

◆ Cbesh()

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

ハンケル関数 Hν(m)(z) (複数次数) (実数次) (複素引数)

目的
本ルーチンはハンケル関数 Hν(m)(z)を上付き文字 m = 1または2, 非負の実数次数ν, ν+1, ..., および非ゼロ複素数 z について求める.
オーバーフローを避けるためにスケーリング・オプションを使用することができる.
引数
[in]Z引数 z. (Z <> 0)
[in]Nu計算する最初の次数. (Nu >= 0)
[in]Mハンケル関数の上付き文字. (m = 1 または 2)
[in]N計算する次数の数. (Nu 〜 Nu+N-1 次の N 個の値を計算する) (N >= 1)
[out]Y()配列 Y(LY - 1) (LY >= N)
ハンケル関数値.
Kode = 1: Hν(m)(z) (ν = Nu 〜 Nu+N-1)
Kode = 2: exp(-(3-2m)*z*i)*Hν(m)(z) (ν = Nu 〜 Nu+N-1)
[out]Info= 0: 正常終了.
= -1: パラメータ Z の誤り. (Z = 0)
= -2: パラメータ Nu の誤り. (Nu < 0)
= -3: パラメータ M の誤り. (M <> 1 かつ M <> 2)
= -4: パラメータ N の誤り. (N < 1)
= -5: パラメータ Y() の誤り.
= -7: パラメータ 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: オーバーフロー. (|Z|が小さすぎる, および/または, Nu+N-1が大きすぎる)
[in]Kode(省略可)
スケーリングの指定. (省略時 = 1)
= 1: スケーリングなし.
= 2: 指数スケーリングあり.
出典
SLATEC