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

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

発行日時: June 2012

製品番号: 373123C-0112

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

所有クラス: approximation

要件:MathScript RTモジュール

構文

x = lsqfit(fun, a0, xdata, ydata)

x = lsqfit(fun, a0, xdata, ydata, lb, ub)

[x, normres] = lsqfit(fun, a0, xdata, ydata)

[x, normres] = lsqfit(fun, a0, xdata, ydata, lb, ub)

[x, normres, resid] = lsqfit(fun, a0, xdata, ydata)

[x, normres, resid] = lsqfit(fun, a0, xdata, ydata, lb, ub)

従来名: lsqcurvefit

説明

最小2乗法を使用して、非線形カーブフィットの問題の解を計算します。

詳細

サンプル

入力

名前 説明
fun フィットする、.mファイルで定義および保存された非線形関数を指定します。
a0 パラメータベクトルの初期推定値を指定します。
xdata 非線形関数funの入力データベクトルを指定します。
ydata 非線形関数 funの出力データベクトルを指定します。
lb パラメータベクトルの下境界を指定します。length(lb)はlength(a0)と等しくなければなりません。
ub パラメータベクトルの下境界を指定します。length(ub)はlength(a0)と等しくなければなりません。

出力

名前 説明
x 解ベクトルと観測値Yの間の二乗平均誤差を最小限にする係数を返します。
normres 残差の二乗2ノルムの値を返します。
resid フィット曲線の残差を返します。

詳細

この関数は、レーベンバーグ・マルカートアルゴリズムを使用して、非線形関数ydata = f(a, xdata)によって求められる入力データポイント (xdata, ydata)のセットに最良フィットするパラメータのセットを決定します。ここで、aはパラメータのセットです。

フィットする関数は入力パラメータfunによって定義されます。このパラメータは、スクリプトファイルで以下の式で表されます。

[F, df] = myfun(a, xdata)

ここで、Fxdata: myfun(a, xdata)で評価された値の配列です。また、dfは係数またはヤコビアン値Jを基準としたxdataでの偏導関数の2次配列です。偏導関数の計算はオプションです。スクリプトで導関数を計算しない場合、dfzeros(0, 0)と同じである必要があり、偏導は数値的に計算されます。

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

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

サンプル

% The myfun function is defined by:
%function [F, df] = myfun(a, xdata)
%F = a(1)*xdata.^2 + a(2)*cos(xdata);
%df = zeros(0, 0);

a = [2, 1.5];
x = 0:1:19;
noise = randnormal(size(x)) / 5;
y = a(1)*x.^2 + a(2)*cos(x) + noise;
[x, normres, resid] = lsqfit('myfun', [10, 10], x, y);



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

役に立たなかった