複素関数でのフィッティング

サマリー

複素関数でフィットするとき、複素関数を2つの関数に簡単に分けることができます。1つは実数部に対応し、もう1つは虚数部に対応するように分けます。これら2つの関数を使って、フィット関数オーガナイザで2つの従属変数を持つ複素関数を定義することができ、それをNLFitダイアログで使うことができます。以下に、複素関数でフィットする方法を示します。複数の従属変数または独立変数を持つフィットについての詳細は、 複数の独立変数でフィットするをご覧下さい。

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

学習する項目

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

  • 2つの従属変数と1つの独立変数を持つユーザ定義の複素関数を作成する
  • NLFitでその関数でフィットする

ステップ

  1. 下記のフォーム全体(ヘッダ行を含む)を選択し、右クリックしてコピーを選択し、クリップボードにデータをコピーします。
    Omega Y1 Y2
    0 3 0
    0.01 2.88462 -0.28846
    0.02 2.58621 -0.51724
    0.03 2.20588 -0.66176
    0.04 1.82927 -0.73171
    0.05 1.5 -0.75
    0.06 1.22951 -0.7377
    0.07 1.01351 -0.70946
    0.08 0.8427 -0.67416
    0.09 0.70755 -0.63679
    0.1 0.6 -0.6
    0.11 0.5137 -0.56507
  2. メニューからインポート:インポートウィザードを選択し、「インポートウィザード 」ダイアログを開きます。そして、データソースグループからクリップボードを選び、完了ボタンをクリックして、データをインポートします。
    Image:ComplexfittingClipboard2.png
  3. Select Tools:フィット関数オーガナイザ」を選択(またはF9を押す)し、フィット関数オーガナイザを開き、NewCategory カテゴリー(カテゴリーが無ければ作成)にComplexFittingという名前の新しい関数を次のように定義します。
    関数名:

    ComplexFitting

    実現方式:

    ユーザ定義

    独立変数:

    omega

    従属変数:

    y1,y2

    パラメータの名前:

    A,tau

    定義形式:

    Origin C

    関数:

    complex cc = A/(1+1i*omega*tau);
    y1 = cc.m_re;
    y2 = cc.m_im;

    Note:複素数を作成するために虚数の単位"i"を使うには、上記の関数の行のように、Origin Cで "1i"と記述する必要があります。そして、complex は、複素数のデータタイプを取り扱うクラスです。これには、実数部と虚数部の両方が含まれます。

    ユーザ定義関数についての詳細は、 Origin Cを使ったユーザ定義関数をご覧下さい。

  4. ワークシートのすべての列を選択し、解析: フィット: 非線形曲線フィットと操作してNLFitダイアログを開きます。設定:関数選択ページで、 <新規…> カテゴリにあるComplexFitting関数を選択します。次のように、データ選択ページで入力データセットをセットします。
    Image:ComplexFitSelectData.png
  5. パラメータタブを選択し、初期値を次のようにセットします。
    Image:ComplexFitParameter.png
  6. フィットボタンをクリックし、フィットレポートを生成します。レポートワークシートから次のように結果を見ることができます。
    Image:ComplexfittingPara.png
    Image:ComplexFitResultsStas.png
    統計の表より、良いフィットができたことが分かります。