複素関数でのフィッティング
サマリー
複素関数でフィットするとき、複素関数を2つの関数に簡単に分けることができます。1つは実数部に対応し、もう1つは虚数部に対応するように分けます。これら2つの関数を使って、フィット関数オーガナイザで2つの従属変数を持つ複素関数を定義することができ、それをNLFitダイアログで使うことができます。以下に、複素関数でフィットする方法を示します。複数の従属変数または独立変数を持つフィットについての詳細は、 複数の独立変数でフィットするをご覧下さい。
必要なOriginのバージョン:8.0 SR6
学習する項目
このチュートリアルでは、以下の項目について説明します。
- 2つの従属変数と1つの独立変数を持つユーザ定義の複素関数を作成する
- NLFitでその関数でフィットする
ステップ
- 下記のフォーム全体(ヘッダ行を含む)を選択し、右クリックしてコピーを選択し、クリップボードにデータをコピーします。
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 - メニューからインポート:インポートウィザードを選択し、「インポートウィザード 」ダイアログを開きます。そして、データソースグループからクリップボードを選び、完了ボタンをクリックして、データをインポートします。

- 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を使ったユーザ定義関数をご覧下さい。
- ワークシートのすべての列を選択し、解析: フィット: 非線形曲線フィットと操作してNLFitダイアログを開きます。設定:関数選択ページで、 <新規…> カテゴリにあるComplexFitting関数を選択します。次のように、データ選択ページで入力データセットをセットします。

- パラメータタブを選択し、初期値を次のようにセットします。

- フィットボタンをクリックし、フィットレポートを生成します。レポートワークシートから次のように結果を見ることができます。


統計の表より、良いフィットができたことが分かります。