Origin Cで多項式フィットのルーチンを実行するには、ocmath_polynomial_fit 関数を使用します。この関数では、重み付き多項式フィットを実行し、パラメータ値や統計情報を含むフィット結果などを取得できます。
ここでは、この関数使用することによってOrigin C で多項式フィットを実行する方法を紹介します。
多項式フィットを実行する前に、データをインポートします。ここでは、独立、従属変数ともに1つずつ必要です。
多項式フィットを実行する操作には、3つのステップが必要です。
1.多項式フィットを実行するデータを取得します。 独立/従属変数ともにベクトル変数を使用します。
Worksheet wks = Project.ActiveLayer(); if(!wks) return; // 無効なワークシート DataRange dr; dr.Add("X", wks, 0, 0, -1, 0); // x列 dr.Add("Y", wks, 0, 1, -1, 1); // y列 vector vX, vY; dr.GetData(&vX, 0); // x列データをベクトルに取得 dr.GetData(&vY, 1); // y列データをベクトルに取得
2.構造体変数を定義し、他のデータ型に関数のパラメータを渡します。これは、関数設定の初期化もできます。
// 結果出力のための構造体のみ定義 int nSize = vX.GetSize(); const int nOrder = 2; // 順序 int nSizeFitParams = nOrder+1; FitParameter psFitParameter[3]; // パラメータ数 = nOrder+1 RegStats psRegStats; // regression statistics RegANOVA psRegANOVA; // anova統計
3.引数を渡してデータに多項式フィットを実行します。
// デフォルトオプションである2次の多項式フィット int nRet = ocmath_polynomial_fit(nSize, vX, vY, NULL, nOrder, NULL, psFitParameter, nSizeFitParams, &psRegStats, &psRegANOVA); // エラーのチェック if(nRet!=STATS_NO_ERROR) { out_str("Error"); return; }
計算が完了したら、スクリプトウィンドウ、結果ログ、ワークシートなどに結果を出力できます。
詳細は、結果ウィンドウに出力、ワークシートに出力 のセクションを確認してください( 分析とアプリケーション:カーブフィッティング:線形フィット )