You've already forked lazarus-ccr
LazStats: Fix usage of invalid rows in WLSUnit. Cleanup.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7781 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -32,6 +32,7 @@ procedure VecSize(A: TDblVector; out n: Integer);
|
||||
|
||||
procedure VecMaxMin(const AData: TDblVector;
|
||||
out AMax, AMin: Double);
|
||||
function VecMean(const AData: TDblVector): Double;
|
||||
procedure VecMeanStdDev(const AData: TDblVector;
|
||||
out AMean, AStdDev: Double);
|
||||
procedure VecMeanVarStdDev(const AData: TDblVector;
|
||||
@ -57,6 +58,7 @@ operator * (A: TDblMatrix; v: TDblVector): TDblVector;
|
||||
function MatAppendColVector(A: TDblMatrix; v: TDblVector): TDblMatrix;
|
||||
procedure MatCheck(A: TDblMatrix);
|
||||
procedure MatCheckSquare(A: TDblMatrix; out n: Integer);
|
||||
procedure MatColDelete(A: TDblMatrix; ACol: Integer);
|
||||
procedure MatColMeanVarStdDev(A: TDblMatrix; out AMeans, AVariances, AStdDevs: TDblVector);
|
||||
function MatColMeans(A: TDblMatrix): TDblVector;
|
||||
function MatColVector(A: TDblMatrix; AColIndex: Integer): TDblVector;
|
||||
@ -227,6 +229,22 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function VecMean(const AData: TDblVector): Double;
|
||||
var
|
||||
i, n: Integer;
|
||||
begin
|
||||
Result := 0;
|
||||
n := Length(AData);
|
||||
if n > 0 then
|
||||
begin
|
||||
for i := 0 to n-1 do
|
||||
Result := Result + AData[i];
|
||||
Result := Result / n;
|
||||
end else
|
||||
Result := NaN;
|
||||
end;
|
||||
|
||||
|
||||
procedure VecMeanStdDev(const AData: TDblVector; out AMean, AStdDev: Double);
|
||||
var
|
||||
variance: Double;
|
||||
@ -432,6 +450,23 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure MatColDelete(A: TDblMatrix; ACol: Integer);
|
||||
var
|
||||
n, m, i, j: Integer;
|
||||
begin
|
||||
MatSize(A, n,m);
|
||||
if (ACol < 0) or (ACol >= m) then
|
||||
raise EMatrix.Create('MatColDelete: illegal column index.');
|
||||
|
||||
for i := 0 to n - 1 do begin
|
||||
for j := 0 to m - 2 do
|
||||
if j >= ACol then
|
||||
A[i, j] := A[i, j+1];
|
||||
SetLength(A[i], m-1);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure MatColMeanVarStdDev(A: TDblMatrix; out AMeans, AVariances, AStdDevs: TDblVector);
|
||||
var
|
||||
n, m, i, j: Integer;
|
||||
|
Reference in New Issue
Block a user