Main Content

pp 型

pp 型の紹介

一変量 "区分的多項式" f は、その "ブレーク シーケンス" breaks と多項式区分の局所的な指数形式 (pp 型の定義 の方程式を参照) の "係数配列" coefs によって指定されます。多変量区分的多項式の説明については、多変量テンソル積スプライン を参照してください。係数は、(列) ベクトル、行列や、場合によっては N 次元配列である可能性もあります。簡単にするために、ここでの説明では、係数がスカラーの場合のみを取り上げます。

ブレーク シーケンスは厳密に増加するものと仮定します。

breaks(1)
< breaks(2) < ... < breaks(l+1) 

l は、f を構成する多項式の区分数です。

これらの多項式の次数はさまざまですが、すべて同じ "次数" k の多項式として記録されます。つまり、係数配列 coefs はサイズ [l,k] で、coefs(j,:) には j 番目の多項式区分の局所的な指数形式で、最大から最小の指数の順に、k 係数が含まれます。pp 型の定義 の方程式を参照してください。

pp 型の定義

項目 breakscoefsl、および k は、その係数の次元 d と共に、f の "pp 型" を構成します。通常、d は 1 に等しくなります。この形式の "基本区間" は区間 [breaks(1) .. breaks(l+1)] です。それは、pp 型の関数がプロット コマンド fnplt によってプロットされる既定の区間です。

これらの項では、区分的多項式 f の正確な記述は次のようになります。

f(t) = polyval(coefs(j,:), t - breaks(j)) (1)

この場合、breaks(j)≤t<breaks(j+1) です。

ここで、polyval(a,x) は MATLAB® 関数で、数値を返します。

j=1ka(j)xkj=a(1)xk1+a(2)xk2+...+a(k)x0

これは、半開区間 [breaks(1)..breaks(l+1)] での t についてのみの f(t) を定義します。その他の t については、f(t) は次によって定義されます。

f(t)=polyval(coefs(j,:),tbreaks(j))j=1,t<breaks(1)l,tbreaks(l+1)

つまり、それぞれ最初と最後の多項式区分を拡張することによって定義されます。このように、pp 型の関数は、複数の内部ブレーク breaks(2:l) にわたる場合のみ、その値および微分、またはいずれかに候補となるジャンプをもちます。最後のブレーク breaks([1,l+1]) は主に、pp 型の基本区間を定義する役割を担います。

関連するトピック