splinefit(MathScript RTモジュール関数)

LabVIEW 2012 MathScript RTモジュールヘルプ

発行日時: June 2012

製品番号: 373123C-0112

»製品情報を参照
ヘルプをダウンロード(Windowsのみ)

所有クラス: approximation

要件:MathScript RTモジュール

構文

bestfit = splinefit(x, y)

bestfit = splinefit(x, y, balance)

bestfit = splinefit(x, y, balance, weights)

従来名: csaps

説明

データのカーブフィットを返します。このデータのカーブフィットは、フィットの確度に対する平滑化を処理するバランスパラメータがある重み付き3次スプライン法を使用します。

詳細

サンプル

入力

名前 説明
x 独立値を指定します。xは倍精度実数ベクトルです。
y 従属値を指定します。yは倍精度実数ベクトルです。
balance 3次スプラインフィットの平滑化と観測値に一致する確度の間のバランスを指定します。balanceは範囲[0, 1]内でなければなりません。balanceが0の場合、3次スプラインフィットは線形フィットと同等です。balanceが1の場合、3次スプラインフィットはデータポイント間を補間します。balanceが範囲[0, 1]外である場合、Xの値に従ってバランスの適切な値を自動的に計算します。
weights 観測値(y, x)の加重を指定します。weightsは配列です。size(weights)はsize(x)と等しくなければなりません。weightsを指定しない場合、weightsのすべての要素は1に設定されます。weightsの要素が0より小さい場合、要素の絶対値を使用します。

出力

名前 説明
bestfit xのポイントで評価された近似曲線の値を返します。bestfitは倍精度実数ベクトルです。

詳細

このVIは以下の関数を最小化することによって、観測値(xy)をフィットします。

p*sum{w[i]*(y[i] - f(x[i]))^2, i = 0, n-1} + (1 - p)*integral{f''(x)^2(dx), x[0], x[n-1]}

ここで、pバランスパラメータ、w[i]は加重i番目の要素、y[i]はyi番目の要素です。x[i]はxi番目の要素、integral{f''(x)^2(dx)、x[0], x[n-1]}はx[0]の下限およびx[n-1]の上限を持つf''(x)の定積分を計算し、f''(x)は3次スプライン関数f(x)の2次微分です。

p = 0の場合、近似モデルは線形モデルと等しくなります。p = 1の場合、近似は3次スプライン補間と等しくなります。観測値と平滑化の両方に近い近似曲線にするには、pは[0, 1]の範囲内になければなりません。p が0に近いほど、平滑化された近似曲線になります。p が1に近いほど、近似曲線が観測値に近くなります。

次の表には、この関数のサポート特性 が記載されています。

LabVIEWランタイムエンジンでサポートされる はい
RTターゲットでサポートされる はい
RTで制限付きの実行時間に適する 特性なし

サンプル

X = 0:6;
Y = [pi/2, 0, 1, 0, -1, 0, pi/2];
XX = 0:0.1:6;
YY = spline(X, Y, XX);
YY = YY + 0.2*rand(1, length(YY));

fitY1 = splinefit(XX, YY, 0.7);
fitY2 = splinefit(XX, YY, 0.98);

plot(X, Y, 'o', XX, YY, '-', XX, fitY1, '-', XX, fitY2, '-')

関連項目

fit
spline



この記事は役に立ちましたか。

役に立たなかった