|
|
◆ Bspldr()
| Sub Bspldr |
( |
T() As |
Double, |
|
|
A() As |
Double, |
|
|
N As |
Long, |
|
|
K As |
Long, |
|
|
Nderiv As |
Long, |
|
|
Ad() As |
Double, |
|
|
Info As |
Long |
|
) |
| |
B-スプライン係数より差分商を構成(Bsplevによる微分値の計算用)
- 目的
- 本ルーチンはB-形式(T(), A(), N, K)を用いてBslpevによる(右)微分係数計算のための差分商 の表adifを作る.
下三角行列adifは配列Ad()に列ごとに次のように格納される.
adif(i, j) = Ad(i-j+1 + (2*n-j+2)*(j-1)/2 - 1), i = j〜N, j = 1〜Nderiv
- 引数
-
| [in] | T() | 配列 T(LT - 1) (LT >= N + K)
ノットベクトル. |
| [in] | A() | 配列 A(LA - 1) (LA >= N)
B-スプライン係数. |
| [in] | N | B-スプライン係数の数. (N = ノット多重度の合計 - K) |
| [in] | K | B-スプラインの次数. (K >= 1) |
| [in] | Nderiv | 微分係数の数 .(1 <= Nderiv <= K)
Nderiv = 1の場合, 0階微分係数 = 関数値 を返す. |
| [out] | Ad() | 配列 Ad(LAd - 1) (LAd >= (2*N - Nderiv + 1)*Nderiv/2)
差分商の表. (Bsplevの入力となる) |
| [out] | Info | = 0: 正常終了.
= -1: パラメータ T() の誤り.
= -2: パラメータ A() の誤り.
= -3: パラメータ N の誤り. (N < K)
= -4: パラメータ K の誤り. (K < 1)
= -5: パラメータ Nderiv の誤り. (Nderiv < 1 または Nderiv > K)
= -6: パラメータ Ad() の誤り. |
- 出典
- SLATEC
- 使用例
- Bsplevの使用例を参照せよ.
|