Main Content

newknt

新しいブレーク分布

構文

newknots = newknt(f,newl)
newknt(f)
[...,distfn] = newknt(...)

説明

newknots = newknt(f,newl) は、f の高次の導関数に関連した特定の区分的で単調な線形関数が等分布されるような方法で、内部節点が f の基本区間を newl の区分にカットする節点シーケンスを返します。

目的は、関数 g の精度の高い近似に適した節点シーケンスを選択することです。f における、この関数の精度の低い近似には、これを実現可能にするための g に関する十分な情報が含まれると想定されます。

newknt(f) newl に対して既定値、つまり、f 内の多項式区分の数を使用します。

また、[...,distfn] = newknt(...) は、distfn で、等分布している区分的で単調な線形関数の pp 型も返します。

次数 k のスプラインによるデータ x,y への最小二乗近似 sp のエラーが不均等に見える場合は、次を使用して節点のより衡平な分布を試みることができます。

spap2(newknt(sp),k,x,y);

別の例については、境界層を使用した選点による非線形 ODE の解法を参照してください。

アルゴリズム

これは、"PGS" の Fortran ルーチン NEWNOT です。pp 型で次数 k の区分的多項式関数 f では、関数 |Dkf| は、Dk–1f の変動を局所的かつ離散的に微分することで取得した区分的定数関数によって近似されます。次のような方法で、区分的多項式 f の基本区間を分割するために、新しいブレーク シーケンスが選択されます。

newknots(i)newknots(i+1)|Dkf|1/k=const, i=k:k+newl1