|
|
◆ Pchfe()
| Sub Pchfe |
( |
N As |
Long, |
|
|
X() As |
Double, |
|
|
F() As |
Double, |
|
|
D() As |
Double, |
|
|
Ne As |
Long, |
|
|
Xe() As |
Double, |
|
|
Fe() As |
Double, |
|
|
Info As |
Long, |
|
|
Optional Skip As |
Boolean = False, |
|
|
Optional Idxfd As |
Long = 0, |
|
|
Optional Incfd As |
Long = 1 |
|
) |
| |
区分3次エルミート(または3次スプライン)補間関数値
- 目的
- 本ルーチンは与えられた点における区分3次エルミート補間関数値を求める. 本ルーチンはそれ自身でエルミート補間に使用することができる. また, Pchim, Pchic, PchspまたはPchseのための補間値の計算に使用することができる.
- 引数
-
| [in] | N | データ点数. (N >= 2) |
| [in] | X() | 配列 X(LX - 1) (LX >= N)
独立変数値. X()の要素は昇順でなければならない. |
| [in] | F() | 配列 F(LF - 1) (LF >= Incfd*(N - 1) + 1)
関数の値. F(Idxfd + I*Incfd)がX(I)に対応する値である (I = 0〜N-1). |
| [in] | D() | 配列 D(LD - 1) (LD >= Incfd*(N - 1) + 1)
微分係数の値. D(Idxfd + I*Incfd)がX(I)に対応する値である (I = 0〜N-1). |
| [in] | Ne | 関数値を計算する点の数. (Ne >= 1) |
| [in] | Xe() | 配列 Xe(LXe - 1) (LXe >= Ne)
関数値を計算する点.
注1: Xe()の要素がX()について昇順のときに最も効率がよい. すなわち, Xe(j) >= X(i) であれば Xe(k) >= X(i) (すべての k >= jについて).
注2: Xe()の中で区間[ X(0), X(n-1) ]の外にあるものは, 最も近くの3次式により外挿して値を求め警告エラーを返す. |
| [out] | Fe() | 配列 Fe(LFe - 1) (LFe >= Ne)
Xe()の各点において計算された, N, X(), F(), D()で定義された3次エルミート関数の値. |
| [out] | Info | = 0: 正常終了.
= -1: パラメータ N の誤り. (N < 2)
= -2: パラメータ X() の誤り. (X()が昇順でないなど)
= -3: パラメータ F() の誤り.
= -4: パラメータ D() の誤り.
= -5: パラメータ Ne の誤り. (Ne < 1)
= -6: パラメータ Xe() の誤り.
= -7: パラメータ Fe() の誤り.
= -11: パラメータ Incfd の誤り. (Incfd < 1)
= i > 0: i個の点において外挿が行われた. |
| [in] | Skip | (省略可)
論理変数で, パラメータチェックを省略したいならばTrueを, そうでなければFalseを設定する. これにより, チェックが(Pchim, Pchic, Pchsp あるいは Pchseで)すでに終わっている場合に計算時間を節約することができる. (省略時 = False) |
| [in] | Idxfd | (省略可)
F()およびD()の先頭データのインデックス値. (省略時 = 0) |
| [in] | Incfd | (省略可)
F()およびD()の要素間隔. (Incfd >= 1) (省略時 = 1) |
- 出典
- SLATEC (PCHIP)
- 使用例
- Pchseの使用例を参照せよ.
|