spapi
スプライン内挿
説明
は、次の次数のスプライン f (存在する場合) を返します。 spline
= spapi(knots
,x
,y
)
k = length(knots) - length(x)
knots
は次の場合に使用します。 (*) f(x(j)) = y(:,j), all j.
x
のエントリのいくつかが同じである場合、次のようになります。
ここで、 であり、Dmf は、f の m 階微分です。この場合、x
におけるサイト z の r 倍の反復は、z での f の、値の規定と最初の r – 1 導関数に対応します。代わりに、すべてのデータ値の平均を同じデータと一致させるには、追加の 4 番目の引数を指定して spapi
を呼び出します。
データ値 y(:,j)
は、スカラー、ベクトル、行列、または N 次元配列にすることができます。
spapi({knork1,...,knorkm},{x1,...,xm},y)
は、"グリッド" データのテンソル積スプライン内挿の B 型を返します。ここで、各 knorki
は節点シーケンス、または i
番目の変数で使用される多項式の次数を指定する正の整数のどちらかです。その後、関数 spapi
は、i
番目の変数に対応する節点シーケンスを提供します。さらに、y
は (r+m
) 次元配列でなければならず、y(:,i1,...,im)
であればデータは i1
, ..., im
のすべてにわたり、サイト [x{1}(i1),...,x{m}(im)]
で当てはめられます。一変量の場合とは異なり、スプラインがスカラー値の場合には、y
は m
次元配列になることができます。
spapi(...,'noderiv')
では、文字ベクトルまたは string スカラー 'noderiv'
が 4 番目の引数となり、同じサイトを共有するデータ値が異なる方法で解釈される場合を除き、spapi(...)
と同じ効果があります。4 番目の引数がある場合、同じデータ サイトをもつデータ値の平均がそのサイトで内挿されます。この引数がない場合、同じデータ サイトをもつデータ値は、この「説明」の最初の段落で説明したように、そのサイトにおいて一致する連続する導関数の値と見なされます。
例
入力引数
出力引数
制限
与えらえた (一変量) 節点とサイトは、内挿を定義するために Schoenberg-Whitney 条件を満たさなければなりません。サイト シーケンス x
が非減少の場合、次のようになります。
ここで、knots
(1) と knots
(end
) で等式が成り立ちます。多変量の場合、これらの条件は各変数に個別に保持しなければなりません。
アルゴリズム
関数は、spcol
を呼び出して、概ブロック対角選点行列 (Bj,k(x)) (上記で説明したように、x
には導関数を示す反復あり) を提供し、slvblk
は、ブロック QR 分解を使用して線形システム (*) を解きます。
関数は、一変量のスプライン近似が近似されている値に比例するという事実を利用して、グリッド データをテンソル積により一度に 1 変数ずつ近似します。
バージョン履歴
R2006b で導入