フィット関数を定義して非線形曲線フィット
Originには、たくさんの組み込みフィット関数が用意されていますが、ユーザ自身がフィット関数を定義することも可能です。この動画では、ユーザ定義関数定義の基本操作と作成した関数を使ってカーブフィットを実行する操作をご紹介します。
※音声なし
右下のボタンで画面を大きくし、で解像度720以上の設定にしてご覧いただくことをお勧めします。
操作方法
フィット関数を定義
関数の作成には、「フィット関数ビルダー」または「フィット関数オーガナイザ」を使用します。ここでは、「フィット関数ビルダー」を使用して関数を定義する方法を紹介します。
- サンプルのOPUJファイルを開き、Originメニューの「ツール:フィット関数ビルダー」を選び、ダイアログを開きます。
- 「新しい関数の作成」を選択して「進む」ボタンをクリックします。
- 「関数カテゴリー」と「関数名」を指定します。ここでは「User Defined」カテゴリー内に「MyExp」という関数名で作成します。なお、ピークアナライザで使用する関数を定義する場合、関数カテゴリ「PFW」内に定義する必要があります。
- 「関数形式」では、定義する関数のタイプを指定します。「LabTalk算術式」や「Python関数(Scalar)」などの項目を選択すると、右パネルにサンプルの式が表示されるので、定義したい関数の形式に応じて選択します。ここでは「LabTalk算術式」のままにして「進む」をクリックします。
- 「独立変数」、「従属変数」、「パラメータ」などを入力します。今回の関数の場合、独立変数として「x」、従属変数として「y」、パラメータとして「y0, a, b」と入力して「進む」をクリックします。ピークアナライザーで使用する関数の場合は、「ピーク関数」にチェックを付けます。
- 「関数式」に式を入力します。ここでは、「y0+a*exp(b*x)」と入力します。パラメータの初期値をあらかじめ入力しておきたい場合は、パラメータ表の「初期値」の部分でダブルクリックすると入力できます。
- 「クイックチェック」では、指定した独立変数(ここではx)の値の時に、従属変数(ここではy)の値がいくつになるかを確認できます。クイックチェックボタンをクリックすると値が計算されます。パラメータの値はパラメータ表の初期値の値が使用されます。
- この後のページは、パラメータの初期化コードや派生パラメータなどについて設定するページです(設定は任意です)。詳細はキーボードのF1キーを押して開くヘルプを参照してください。ここでは特に設定せず「完了」をクリックします。
- 関数が保存されたことを示すメッセージが「メッセージログ」に表示されます。
定義したフィット関数を使用して非線形曲線フィット
- プロジェクトファイル内の「02_data」フォルダを開きます。
- B列を選択して、下のツールバーの「散布図」ボタンをクリックして作図します。あるいは、「作図」メニューから「散布図」を選択して作図します。
- メインメニューの「解析:フィット:非線形曲線フィット」を選択してダイアログを開きます。
- 作成したフィット関数のカテゴリ、関数を指定します。今回は、「User Defined」カテゴリー内に「MyExp」です。
- 「パラメーター」タブで初期値を設定します。ユーザ定義関数を使用したフィットでは、初期値の設定が重要です。理論値などフィット結果に使いと思われる値を入力します。ここでは、y0=80、a=100、b=-5を入力します。
- また、「境界」タブでは、各パラメータの取り得る値の範囲を設定することもできます。
- 「1回反復」ボタンを何度か押してグラフ上のフィット曲線のプレビューも確認しながら様子を見ます。初期値の設定が適切でないと散布図にフィット曲線が近づいていきません。そのような場合は初期値を変更したり、制約条件を設定しながら試していきます。
- 問題なさそうなら「収束までフィット」ボタンをクリックして収束するまでフィットし、「OK」ボタンをクリックして結果を出力します。
- 保存した関数は、「ヘルプ:フォルダを開く:ユーザファイルフォルダ」を選択して開くフォルダ内の「fitfunc」フォルダ内にあります。フィット関数をほかの方と共有する場合は、拡張子.FDFのファイルを共有し、相手先のOrigin上にドラッグ&ドロップすることで利用可能になります。