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

◆ Interv()

Sub Interv ( Xt() As  Double,
Lxt As  Long,
X As  Double,
Ilo As  Long,
Ileft As  Long,
Info As  Long 
)

Ileftを求める (BsplvdおよびBsplvnの入力用)

目的
本ルーチンは Xt(Ileft-1) <= X となるような最大の整数値 Ileft (1 <= Ileft <= Lxt)を求める. ただし, Xt()はXの区間を分割した部分区間である. 本ルーチンは次の値を返す.
  X < Xt(0) の場合: Ileft = 1, Info = 2
  Xt(i-1] <= X < Xt(i) の場合: Ileft = i, Info = 0
  Xt(Lxt-1] <= X の場合: Ileft = Lxt, Info = 1
Xの左側の区切り点に重複があれば, Ileftとしては最大のインデックス値が採用される.
引数
[in]Xt()配列 Xt(LXt - 1)
ノットまたは区切り点ベクトル.
[in]LxtベクトルXt()の長さ. (Lxt >= 1)
[in]X引数 X.
[in,out]Ilo初期化パラメータ.
[in] 配列Xt()が最初にIntervにより処理されるとき, 1に設定しておかなければならない.
[out] 最初の呼び出し後の処理のための情報. ユーザーが変更してはならない. 異なるスプラインは異なったIloパラメータを持つ.
[out]IleftXt(Ileft-1) <= X となるような最大の整数値.
[out]Info= 0: 正常終了.
= -1: パラメータ Xt() の誤り.
= -2: パラメータ Lxt の誤り. (Lxt < 1)
= 1: Xが範囲外にある. (Xt(Lxt-1) <= X)
= 2: Xが範囲外にある. (X < Xt(0))
出典
SLATEC
使用例
BsplvnおよびBsplvdの使用例を参照せよ.