Main Content

aptknt

許容可能な節点シーケンス

構文

knots = aptknt(tau,k)
[knots,k] = aptknt(tau,k)

説明

knots = aptknt(tau,k) は、tau が少なくとも k のエントリをもち、非減少で、tau(i)<tau(i+k-1) (すべての i について) を満たしている場合、データ サイト tau での内挿に適した節点シーケンスをその節点シーケンスをもつ次数 k のスプラインにより返します。その場合、それらのサイトで与えられた値に一致する節点シーケンス knots をもつ次数 k のスプラインが 1 つだけ存在します。これは、返されたシーケンス knots が Schoenberg-Whitney 条件を満たすためで

knots(i) < tau(i) < knots(i+k),        i=1:length(tau)

それぞれ厳密な多重度 k で発生する極端な節点でのみ等式が成り立ちます。

tau のエントリ数が k 未満の場合は、k が値 length(tau) に減らされます。tau が非減少でない場合、またはいくつかの i について tau(i)tau(i+k-1) と等しい場合、またはその両方の場合はエラーとなります。

また、[knots,k] = aptknt(tau,k) は、使用された実際の k (入力 klength(tau) のうち小さいほうに等しい) も返します。

tau が等間隔で (n>=4 の場合に linspace(a,b,n) に等しい)、ytau と同じサイズのシーケンスの場合、sp = spapi(aptknt(tau,4),tau,y) は、節点なしの端点条件を使用した 3 次スプライン内挿を返します。これは、コマンド spline(tau,y) で生成されるものと同じ 3 次スプラインですが、pp 型ではなく B 型です。

注意事項

tau がかなり不均一な場合、サイト tau でのデータへの内挿に結果の節点シーケンスを使用すると、不十分な結果につながる場合があります。

アルゴリズム

シーケンス tau(k-1) 点平均 sum(tau(i+1:i+k-1))/(k-1) は、aveknt(tau,k) によって指定された場合、k 倍の tau(1)k 倍の tau(end) によって拡張されます。つまり、コマンドは、tau が少なくとも k 個のエントリをもち、k が 1 より大きい場合、コマンドは augknt([tau(1),aveknt(tau,k),tau(end)],k) と同じ結果を返します。