XLPack 7.0
Python API リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ pchse()

def pchse ( ,
,
,
,
incfd  = 1 
)

区分3次スプライン補間 ("not a knot"境界条件)

目的
pchseは, 区分的エルミート補間式による3次スプライン補間のために, 既定の境界条件("not a knot"境界条件)を用いて与えられたデータの微分係数値を計算する.

得られた係数を使った3次スプライン補間関数値はpchfeまたはpchfdにより求めることができる.
戻り値
info (int)
= 0: 正常終了
= -1: 入力パラメータ n の誤り (n < 2)
= -2: 入力パラメータ x の誤り (昇順でないなど)
= -3: 入力パラメータ f の誤り
= -4: 入力パラメータ d の誤り
= -5: 入力パラメータ incfd の誤り (incfd < 1)
引数
[in]nデータ点数. (n >= 2)
[in]xNumpy ndarray (1次元配列, float, 長さn)
独立変数値. x[]の要素は昇順でなければならない.
[in]fNumpy ndarray (1次元配列, float, 長さ incfd*(n - 1) + 1)
補間される従属変数値. f[i*incfd]がx[i]に対応する値である (i = 0〜n-1).
[out]dNumpy ndarray (1次元配列, float, 長さ incfd*(n - 1) + 1)
各データ点における微分係数値. これらの値により, 要求された境界条件による3次スプライン補間式が決定される. x[i]に対応する値はd[i*incfd]に格納される (i = 0〜n-1). dのその他の場所は変更されない.
[in]incfd(省略可)
f および d の要素間隔. このパラメータは主として2次元アプリケーションのために提供される. (incfd >= 1) (省略時 = 1)
出典
SLATEC (PCHIP) (pchspのドライバールーチン)
使用例
次の自然対数表を3次スプライン補間して, ln(0.115) および ln(0.125) を求める.
  x       ln(x)
------ ---------
 0.10   -2.3026
 0.11   -2.2073
 0.12   -2.1203
 0.13   -2.0402
------ ---------
def TestPchse():
n = 4
x = np.array([0.1, 0.11, 0.12, 0.13])
y = np.array([-2.3026, -2.2073, -2.1203, -2.0402])
d = np.empty(n)
info = pchse(n, x, y, d)
print(info)
if info == 0:
ne = 2
xe = np.array([0.115, 0.125])
ye = np.empty(ne)
info = pchfe(n, x, y, d, ne, xe, ye)
print(ye, info)
def pchse(n, x, f, d, incfd=1)
区分3次スプライン補間 ("not a knot"境界条件)
def pchfe(n, x, f, d, ne, xe, fe, incfd=1, skip=0)
区分3次エルミート(または3次スプライン)補間関数値
実行結果
>>> TestPchse()
0
[-2.16285 -2.079475] 0