このチュートリアルでは、区間毎のフィット関数を定義する方法を説明します。
必要なOriginのバージョン:8.0 SR6
このチュートリアルでは、以下の項目について説明します。
\Samples\Curve Fitting\Exponential Decay.datファイルをインポートして、このチュートリアルを開始します。列Dを選択し、散布図をプロットします。Growth/Sigmoidalカテゴリーにある多くの組込関数を使ってこの曲線をフィットできますが、このチュートリアルでは、区間関数で曲線を2つの区間に分けます。
関数式は次のようなものです。
F9を押し、フィット関数オーガナイザを開き、以下のように関数を定義します。
関数編集ボックスの右にあるボタン をクリックし、コードビルダで次のようにフィット関数を定義します。
void _nlsfpiecewise( // フィットパラメータ: double xc, double a, double b, double t1, // 独立変数: double x, // 従属変数: double& y) { // 編集可能部分の開始 // if条件で、曲線を分ける if(x<xc) { y = a+b*x+exp(-(x-xc)/t1); } else { y = a+b*x; } // 編集可能部分の終了 }
Ctrl + Y を押すと、グラフウィンドウをアクティブにしてNLFitダイアログが開きます。定義した piecewise 関数を選択し、次の値でパラメータを初期化します。
「フィット」ボタンをクリックし、結果を生成します。
Note: この関数は、xcとt1に敏感で、異なる初期値を使うと結果も異なります。