knt2brk、knt2mlt
節点をブレークとその多重度に変換する
構文
knt2brk(knots)
[breaks,mults] = knt2brk(knots)
m = knt2mlt(t)
[m,sortedt] = knt2mlt(t)
説明
これらのコマンドは、シーケンスから異なる要素と、そのシーケンス内のそれらの多重度を抽出します。"多重度" にはわずかに異なる 2 つの意味があります。
knt2brk(knots)
は、knots
内の異なる要素を昇順で返すため、unique(knots)
と同じです。
[breaks,mults] = knt2brk(knots)
は、さらに、mults
で、異なる要素のそれぞれが knots
内で発生する際の多重度を提供します。明らかに、breaks
と mults
は同じ長さです。また、任意の節点シーケンス knots
について、 knots
に等しい knots1
を 2 つのコマンド [xi,mlts] = knt2brk(knots); knots1 = brk2knt(xi,mlts);
が返すという点で、knt2brk
は brk2knt
に対して補完的です。
m = knt2mlt(t)
は、t
と同じ長さのベクトルを返します。ベクトル sort(t)
で i 番目のエントリより前にある、そのエントリと等しいエントリの数が m(i)
によりカウントされます。このような多重度ベクトルは、t
内のサイトで一致させる特定の導関数を指定するためにこのような多重度を使用する spapi
または spcol
で必要となります。厳密には、t
が非減少で、z
が同じ長さのベクトルである場合、sp = spapi(knots, t, z)
は Dm(i)s(t(i)) が z(i) (すべての i について) に等しいスプライン s (節点シーケンス knots
をもつ) の作成を試みます。
また、[m,sortedt] = knt2mlt(t)
は sort(t)
からの出力も返します。
knt2brk
と knt2mlt
はどちらも、このツールボックスの一時的なユーザーが使用する可能性はほとんどありません。
例
[xi,mlts]=knt2brk([1 2 3 3 1 3])
は、xi
に対して [1 2 3]
を、mlts
に対して [2 1 3]
を返します。
[m,t]=knt2mlt([1 2 3 3 1 3])
は、m
に対して [0 1 0 0 1 2]
を、t
に対して [1 1 2 3 3 3]
を返します。