LabTalk関数を使って2つの積分を含む関数でフィット
サマリー
例えば、複数の積分を利用してフィット関数を作成するとき、
それぞれのパラメータの詳細については、LabTalkを利用した積分フィットをご覧ください。
Origin バージョン8.6ではフィット関数ビルダは1つの積分関数ののみをサポートしていました。このような複雑なコードを使わなくても、フィット関数オーガナイザを使うことで、フィットをすることが来ます。
このチュートリアルでは、2つの積分からなる関数をフィット関数オーガナイザを使ってフィットさせます。2つ以上の積分を利用することも可能です。
必要なOriginのバージョン: Origin 8.6 以降
Origin 2018bから、積分を使って陰函数を定義することができます |
学習する項目
このチュートリアルでは、以下の項目について解説します
- フィット関数ビルダーでフィット関数を作成する
- Labtalk関数を使って積分定義を組み込んだフィット関数を定義する
サンプルとステップ
フィッティングモデル
フィッティングモデルは次の式で表されます。
フィット関数には4つのパラメータがあり、そのうち3つを被積分関数に受け渡し、独立変数を上限として積分を行います。
関数を定義します。
- F9を押してフィット関数ビルダダイアログを開きます。関数作成を押して新しい関数を追加します。カテゴリ作成ボタンで新しいカテゴリを作成できます。

- 名前編集ボックスで関数の名前を指定します。独立変数、従属変数そしてパラメータ名をそれぞれの編集ボックスで定義します。
- ドロップボックスから実現方法を選択します。ダイアログの下のヒントタブで説明を確認できます。

- 関数編集ボックスでフィット関数を定義します。積分関数はLabTalkのintegralで作成します。
y=integral(polyint, -5, x, a)-integral(gaussint, -inf, x, b, wc)+y0
LabTalk関数を使った積分フィットにもあるように、x、a、bそしてwc被積分関数のパラメータになります。
- パラメータの設定ボックスの右隣のボタンを押して、パラメータ設定ダイアログを開きます。それぞれのパラーメタの開始値と、下限、上限値を設定します。

- LabTalk関数の定義と初期化ボックスで2つの積分を定義します。今回は、以下のように設定します。
function double polyint(double t, double ia) { return ia*t ; } function double gaussint(t, ib, iwc) { return ib *t* exp(-(t)^2/iwc^2) ; }
- これで、2つの積分フィットが定義されました。その他の設定を行います。終了する前に、フィット関数を保存しましょう。
曲線をフィットする
次のデータ をOriginの新しいワークシートにコピー&ペーストします。
X Y -3 2.47613 -2.6 2.24016 -2.2 2.01543 -1.8 1.83094 -1.5 1.85038 -1.1 2.17725 -0.9 2.44967 -0.7 2.61423 -0.5 3.02305 -0.3 3.23057 -0.1 3.37822 0.1 3.2827 0.3 3.18775 0.5 2.86194 0.7 2.69104 0.9 2.39315 1.4 2.04046 1.8 1.85287 2.2 1.85325 2.6 2.20569
Y列を選択し、Ctrl + YキーでNLFitダイアログを開きます。定義した関数を選び、フィットボタン
をクリックしてフィットを行います。


