あるデータセットを別のデータセットの関数としてフィットする

サマリー

出力が以下のように1または複数のデータセットで構成される「データセットフィッティング」を実行したい場合があります。

Image:Tutorials_Fitting_Datasets_MultiIndep.png

例えば、合成されたスペクトルを分析して、個々のスペクトルの比率を求めたいような場合です。これは、複数の独立変数を定義するか、フィット関数内で組合せを計算することで行うことができます。

必要なOriginのバージョン:8.0 SR6

学習する項目

このチュートリアルでは、以下の項目について説明します。

  • 「データセットフィッティング」を実行する
  • 複数の独立変数のフィット関数を定義する

ステップ

Samples\Curve FittingフォルダからComposite Spectrum.datファイルをインポートします。このサンプルデータをみると、列Aがインデックス、列Bと列Cが成分Aと成分Bに関するスペクトルである事が分かります。列Dは成分Aと成分Bの複合スペクトルの構成物を読み取った後の値が入力されます。純物質から算出された列Bと列Cの関数で列Dをフィットすれば、列Bと列Cの構成要素にかかる係数(便宜上、c1とc2と呼びます)を算出できます。(Note: この場合、独立変数と従属変数は同じ数であると仮定します。そうでない場合、補間が必要です。)

フィット関数オーガナイザを開き、新しいフィット関数を定義します。

関数名: MultiIndep
実現方式: ユーザ定義
独立変数: a, b
従属変数: ab
パラメータの名前: C1, C2
定義形式: Origin C
関数: ab = C1*a + C2*b;

パラメータ初期化編集ボックスにC1とC2を初期化するため、次の値を入力します。
C1=1;
C2=1;
フィット関数を保存してフィット関数オーガナイザを閉じます。列Dだけを選択し、NLFit ダイアログを開き、次のようにデータ選択ページで入力データセットを指定します。

Image:Tutorials_Fitting_Datasets_MultiIndep.png

そして、フィットボタンをクリックして、結果を求めます。

結果

以下のような結果を得ることができます。

  標準誤差
C1 0.37169 0.00483
C2 0.66469 0.0047

フィット結果を確認するには、新しい列を追加し、そこにFitNLCurve1というワークシートにあるフィットしたYからフィット値をコピー&ペーストします。そして、Composite とフィットデータを選択し、折れ線グラフをプロットし、どの程度良くフィットしているかを見ます。

Image:Tutorials_Fitting_Datasets_Results.png