|
|
◆ 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] | Ileft | Xt(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の使用例を参照せよ.
|