FAQ-768 各反復の非線形曲線フィットのパラメータ値は、どのようにして得るのですか?

最終更新: 2018/07/26


非線形曲線フィットを実行するときには、LabTalk関数NlbeginNlfitを使って、各反復の非線形曲線フィットのパラメータ値を得ることができます。

// 新しいブックからサンプルデータをインポート
newbook;
fname$=system.path.program$ + "Samples\Curve Fitting\Exponential Growth.dat"; //データを準備
impASC; 
// フィットセッションを開始;
 
 
nlbegin iy:=2 func:=ExpDec1 nltree:=tt;
getnumber -s (Input the iterations) n;     //ダイアログを構築して、実行したい反復を入力可能にする
double aa=0;
 
 
loop (i,1,n)
{
	nlfit $(i);  //フィッティングのi番目の反復を実行
 
	type "The parameter value in $(i) iteration";  
 
	type "y0= $(tt.y0, %4.6f)";  //パラメータ値を出力
	type "A1= $(tt.A1, %4.6f)";
	type "t1= $(tt.t1, %4.6f)";
 
	if (tt.fitstatus == 100)
	{
		type "Fit converged, no more iteration will be done";  
		break;
	}
}
 
nlend;

反復の入力ボックスに8を入力してスクリプトを実行した場合は、次のような結果になります。

The parameter value in 1 iteration
y0= -0.162869
A1= 1.283508
t1= -0.998789
The parameter value in 2 iteration
y0= -0.038538
A1= 1.195022
t1= -0.968684
The parameter value in 3 iteration
y0= -0.038365
A1= 1.194898
t1= -0.968641
Fit converged, no more iteration will be done

キーワード:LabTalk, 非線形フィット, 反復, フィットパラメータ