NLFit および ピークアナライザ


非線形曲線フィットの実行時にPython関数を使用できます。Python関数と、その関数に必要なPythonパッケージをインストールするためのスクリプトコマンドを含むフィット関数ファイル(FDFファイル)を作成する必要があります。

次のサンプルで、Python関数を使用してFDFを作成する方法の概要を示します。

質量拡散のためのフィット関数

このセクションでは、Pythonを関数を使って次の質量拡散方程式のフィッティング関数を作成する手順の概要を説明します。
MassDiffusionFittingFunction.png

  1. まず、新しくFDFファイルを作成します。Originのメニューからツール:フィット関数ビルダー...を選択して、フィット関数ビルダー を開きます。
  2. 最初のページでは、新しい関数の作成を選択します。
  3. 2ページ目では、関数名をMassDiffusionに設定し、関数形式はPython 関数(Vector)にします。
  4. 3ページ目では、独立変数をx、従属変数をy、パラメータをy0, D, Lに設定します。
  5. 4ページ目では、
    from mpmath import nsum, exp, inf
    import numpy as np
    
    def MassDiffuse(x, y0, D, L):
            sm = [float((nsum(lambda ii: 1/(2*ii+1)**2*exp(-D*(2*ii+1)**2*np.pi**2*t/(4*L**2)),[0, inf]))) for t in x]
            return [y0*(1-8/np.pi**2*t) for t in sm]
    

    のようにPython関数(Vector) 編集ボックスに入力します。次に

    MassDiffuse(x, y0, D, L)
    

    のように関数式編集ボックスに入力します。

  6. 5ページ目では、
    if(Python.chk("mpmath numpy") > 1)
            return 1;
    return 0;
    

    のようにPythonパッケージ確認(LabTalkスクリプト)に入力します。この関数は、mpmath および numpyパッケージが必要です。関数使用前にこれらをインストールする必要があります。パッケージをインストールするには、Originの接続メニューにあるPythonパッケージツールを使用できます。他のOriginユーザと関数を共有する場合は、Originに関数を追加するときに自動でパッケージをインストールするように設定できます。

  7. 進むボタンをクリックし、完了ボタンをクリックします。
  8. 以下のXYデータでフィット関数のテストが可能です。
    0.00    -0.078
    0.20     0.604
    0.40     0.842
    0.60     1.101
    0.80     1.029
    1.00     1.083
    1.20     0.828
    1.40     0.884
    1.60     0.991
    1.80     1.005
    2.00     0.915
    

    パラメータの初期値には以下を入力します。

    y0 = 1, D = 0.5, L = 0.5
    

    そしてフィットを実行します。最終的なパラメータ値は以下の通りです。

    フィット値: y0 = 0.97846, D = 0.37563, L = 0.43781