多項式フィット

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;
}

結果を出力

計算が完了したら、スクリプトウィンドウ、結果ログ、ワークシートなどに結果を出力できます。

詳細は、結果ウィンドウに出力ワークシートに出力 のセクションを確認してください( 分析とアプリケーション:カーブフィッティング:線形フィット