内容 |
このチュートリアルでは積分関数内に鋭いピークを持つ積分フィット関数を定義し、その関数でデータをフィットする方法を示します。
積分関数内に鋭いピークを含んでいるので、それを狭い間隔で積分する必要があります。そのため、このピークを3つの部分に区分けして積分を行います。
必要なOriginのバージョン:Origin 9.0 SR0
このチュートリアルでは、以下の項目について説明します。

フィットする積分関数は次の式で表されます。

aとbはフィット関数内のパラメータです。
初期パラメータ値は、a=1e-4, b=1e-4となります。積分関数内には中心がaにあり、太さが2b程度のピークがあります。そして、ピークの幅(2e-4)は積分の範囲から見ても、とても狭いことが分かります。正しくピークの中心あたりで積分される事を確認するために、積分範囲である[0,1] は3つの区分に分けられています。[0,a-5*b], [a-5*b,a+5*b], [a+5*b,1].この区分内で積分が施され、最終的に合計します。
フィット関数ビルダーツールでフィット関数を定義します。
return 1/(sqrt(2*pi)*b)*exp(-(t-a)^2/(2*b^2)-x*t);
それから、進むボタンをクリックします。
integral(myint, 0, a-5*b, a ,b ,x)+integral(myint, a-5*b, a+5*b, a ,b ,x)+ integral(myint, a+5*b, 1, a ,b ,x)
もう一度評価ボタンをクリックするとy=0.84が表示され、今回は正確にピークが積分されたことが分かります。
log(integral(myint, 0, a-5*b, a ,b ,x)+integral(myint, a-5*b, a+5*b, a ,b ,x) +integral(myint, a+5*b, 1, a ,b ,x))
完了ボタンをクリックします。
フィット曲線のグラフは次のようになります。

フィットパラメータは以下の通りです。
| パラメータ | 値 | 標準誤差 |
|---|---|---|
| a | 4.98302E-4 | 1.07593E-5 |
| b | 1.94275E-4 | 8.21815E-6 |
補正R二乗値は 0.99799です。つまり、このフィット結果はとても良いことを示しています。
| x | y |
|---|---|
| 0 | -0.00267 |
| 60 | -0.01561 |
| 240 | -0.05268 |
| 500 | -0.10462 |
| 1000 | -0.22092 |
| 1500 | -0.31004 |
| 2000 | -0.40695 |
| 3000 | -0.61328 |
| 4000 | -0.75884 |
| 5000 | -0.9127 |
| 6000 | -0.98605 |
| 7000 | -1.18957 |
| 9000 | -1.43831 |
| 10000 | -1.41393 |
| 12000 | -1.61458 |
| 15000 | -1.88098 |
| 20000 | -2.07792 |