Sign in Join
FPDoc Onlineexperiment

MeanAndStdDev procedure

In unit Math

Return mean and standard deviation of array.

Declaration

pascal
procedure MeanAndStdDev(const data: Array of Single; var mean: Float; 
 var stddev: Float)

Description

meanandstddev calculates the mean and standard deviation of data and returns the result in mean and stddev, respectively. Stddev is zero if there is only one value. The second form accepts a pointer to an array of N values.

Errors

None.

See also

Example: ex28

pascal
Program Example28;

{ Program to demonstrate the Meanandstddev function. }
{ @ should return typed pointer }
{$T+}

Uses math;

Type
  TExArray = Array[1..100] of Extended;

Var
  I : Integer;
  ExArray : TExArray;
  Mean,stddev : Extended;

begin
  Randomize;
  for I:=low(ExArray) to high(ExArray) do
    ExArray[i]:=(Random-Random)*100;
  MeanAndStdDev(ExArray,Mean,StdDev);
  Writeln('Mean       : ',Mean:8:4);
  Writeln('StdDev     : ',StdDev:8:4);
  MeanAndStdDev(@ExArray[1],100,Mean,StdDev);
  Writeln('Mean   (b) : ',Mean:8:4);
  Writeln('StdDev (b) : ',StdDev:8:4);
end.

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.