14/02/18 19:59:00.97
>>10
typedef struct tagPoint{
int x; int y;
}POINT;
typedef struct tagPointList{
POINT* pDataAry;
//メンバ変数 pDataAry の長さ
int size;
}POINTLIST;
typedef struct tagLsmInfo{
//想定関数 f(x)=ax+b の係数 a 。
double dCoefA;
//想定関数 f(x)=ax+b の係数 b 。
double dCoefB;
/**
想定関数とデータの誤差の √ 平方和 => √ ∑( { y(x[k]) - f(x[k]) }^2 )。
即ち √ { σ(y) ( 1 - 相関係数^2 ) } と同じ値
*/
double dSumError;
}LSMINFO;
/**
入力データから最小2乗法により想定関数 f(x)=ax+b の各係数と
想定関数と入力データの誤差の平方和の0.5乗の値を算出します。<br>
つまり、引数 pRcv のすべてのメンバ変数に適切な値を設定します。<br>
<b>未実装!大して難しくないから、自分で実装してね</b>
@param pData : 入力データ
@param pRcv : 計算結果の受け取りバッファ
*/
void calcLsmInfo(POINTLIST* pData, LSMINFO* pRcv);