MeanAndStdDev

Return mean and standard deviation of array

Declaration

Source position: math.pp line 521

  procedure MeanAndStdDev(const data: Array of Single; var mean: Float; 
                         var stddev: Float);
  procedure MeanAndStdDev(const data: PSingle; const N: LongInt; 
                         var mean: Float; var stddev: Float);
  procedure MeanAndStdDev(const data: Array of Double; var mean: Float; 
                         var stddev: Float);
  procedure MeanAndStdDev(const data: PDouble; const N: LongInt; 
                         var mean: Float; var stddev: Float);
  procedure MeanAndStdDev(const data: Array of Extended; var mean: Float; 
                         var stddev: Float);
  procedure MeanAndStdDev(const data: PExtended; const N: LongInt; 
                         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

Name Description
mean Return mean value of array
momentskewkurtosis Return 4 first moments of distribution
sum Return sum of values
sumofsquares Return sum of squares of values

Example

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.