多項式フィット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;
}
結果を出力
計算が完了したら、スクリプトウィンドウ、結果ログ、ワークシートなどに結果を出力できます。
詳細は、結果ウィンドウに出力、ワークシートに出力 のセクションを確認してください( 分析とアプリケーション:カーブフィッティング:線形フィット )
|