Операции над числовыми массивами

Материал из DRKB

Операции над числовыми массивами[править | править код]

MaxIntValue Возвращает наибольшее значение целочисленного массива.
MaxValue Возвращает наибольшее значение числового массива.
Mean Вычисляет среднее арифметическое всех значений массива.
MeanAndStdDev Вычисляет среднее арифметическое всех значений массива, и среднее отклонение.
MinIntValue Возвращает наименьшее значение целочисленного массива.
MinValue Возвращает наименьшее значение числового массива.
MomentSkewKurtosis Вычисляет среднее значение, дисперсию, отклонение и периодичность.
Norm Возвращает Евклидову норму для всех значений массива.
PopnStdDev Вычисляет среднеквадратичное отклонение для совокупности данных.
PopnVariance Вычисляет дисперсию совокупности данных.
StdDev Вычисляет стандартное среднеквадратичное отклонение элементов массива.
Sum Вычисляет сумму значений всех элементов числового массива.
SumInt Вычисляет сумму значений всех элементов целочисленного массива.
SumOfSquares Вычисляет сумму квадратов всех элементов числового массива.
SumsAndSquares Возвращает сумму элементов и сумму квадратов всех элементов числового массива.
TotalVariance Вычисляет статистическую дисперсию.
Variance Вычисляет типовую дисперсию всех значений массива.


MaxIntValue[править | править код]

function MaxIntValue(const Data: array of Integer): Integer;

Модуль: Math

Описание: Функция возвращает наибольшее значение целочисленного массива Data.

Пример:

var
  Mas: array of Integer;
  Max, I : Integer;
begin
  SetLength(Mas, 10);
  Randomize;
  for I := 0 to 9 do Mas[i] := Random(100);
  Max := MaxIntValue(Mas);
end;


MaxValue[править | править код]

function MaxValue(const Data: array of Double): Double;

Модуль: Math

Описание: Функция возвращает наибольшее значение числового массива Data.

Пример:

var
  Mas: array of Real;
  Max: Real;
  I: byte;
begin
  SetLength(Mas, 10);
  Randomize;
  for I := 0 to 9 do Mas[i] := Random;
  Max := MaxValue(Mas);
end;

Mean[править | править код]

function Mean(const Data: array of Double): Extended;

Модуль: Math

Описание: Функция возвращает среднее арифметическое всех значений массива чисел Data.

Пример:

var
  Mas: array of Real;
  m: Real;
  i: byte;
begin
  SetLength(Mas, 10);
  for i := 0 to 9 do Mas[i] := i/10;
  m := Mean(Mas);       // m := 0.45
end;


MeanAndStdDev[править | править код]

procedure MeanAndStdDev(const Data: array of Double; var Mean, StdDev: Extended);

Модуль: Math

Описание: Функция вычисляет среднее арифметическое Mean всех значений числового массива Data и среднее отклонение StdDev от среднего арифметического. Обе величины вычисляются за один проход. Точность вычислений может быть потеряна, если среднее отклонение >10E7, или числа массива отличаются на очень незначительную величину.

Пример:

var
  Data: array of Double;
  Mean, Dev: Extended;
  i: byte;
begin
  SetLength(Mas, 11);
  for i := 0 to 10 do Mas[i] := i;
  MeanAndStdDev(Data, Mean, Dev);
  { Mean := 5; Div := 3.3166247903554 }
end;


MinIntValue[править | править код]

function MinIntValue(const Data: array of Integer): Integer;

Модуль: Math

Описание: Функция возвращает наименьшее значение целочисленного массива Data.

Пример:

var
  Mas: array of Integer;
  Min, I : Integer;
begin
  SetLength(Mas, 10);
  Randomize;
  for I := 0 to 9 do Mas[i] := Random(100);
  Min := MinIntValue(Mas);
end;


MinValue[править | править код]

function MinValue(const Data: array of Double): Double;

Модуль: Math

Описание: Функция возвращает наименьшее значение числового массива Data.

Пример:

var
  Mas: array of Real;
  Min: Real;
  I: byte;
begin
  SetLength(Mas, 10);
  Randomize;
  for I := 0 to 9 do Mas[i] := Random;
  Min := MinValue(Mas);
end;


MomentSkewKurtosis[править | править код]

procedure MomentSkewKurtosis(const Data: array of Double; var M1, M2, M3, M4, Skew, Kurtosis: Extended);

Модуль: Math

Описание: Процедура вычисляет основные коэффициенты статистического анализа: первые четыре момента, коэффициент асимметрии и периодичность.

  • M1 - среднее значение;
  • M2 - дисперсия;
  • Skew - отклонение, отражающее симметрию распределения;
  • Kurtosis - периодичность, отражающая пологость распределения.

Пример:

var
  Data: array of Double;
  M1, M2, M3, M4, Skew, Kur: Extended;
  I: Byte;
begin
  SetLength(Data, 10);
  for i := 0 to 9 do Data[i] := i;
  MomentSkewKurtosis(Data, M1, M2, M3, M4, Skew, Kur);
  { M1 := 4.5; M2 := 8.5; M3 := 0; M4 := 120.8625;
  Skew := 0;
  Kur := 1,77575757575758 }
end;


Norm[править | править код]

function Norm(const Data: array of Double): Extended;

Модуль: Math

Описание: Функция возвращает Евклидову норму для значений числового массива Data. Евклидова норма представляет собой квадратный корень суммы квадратов всех значений массива.

Пример:

var
  Mas: array of Double;
  E: Extended;
  i: byte;
begin
  SetLength(Mas, 10);
  for i := 0 to 9 do Mas[i] := i;
  E := Norm(Mas);        // E := 16.8819430161341
end;


PopnStdDev[править | править код]

function PopnStdDev(const Data: array of Double): Extended;

Модуль: Math

Описание: Функция вычисляет среднеквадратичное отклонение совокупности (квадратный корень дисперсии совокупности) всех значений массива Data.

Пример:

var
  Mas: array of Double;
  I: Byte;
  Dev: Extended;
begin
  SetLength(Mas, 10);
  for i := 0 to 9 do Mas[i] := i;
  Dev := PopnStdDev(Mas);        { Dev := 287228132326901 }
end;


PopnVariance[править | править код]

function PopnVariance(const Data: array of Double): Extended;

Модуль: Math

Описание: Функция вычисляет дисперсию совокупности всех значений массива чисел Data (TotalVariance(Data)/n ).

Пример:

var
  Mas: array of Double;
  I: Byte;
  V: Extended;
begin
  SetLength(Mas, 10);
  for i := 0 to 9 do Mas[i] := i;
  V := PopnVariance(Mas);        { V := 8.25 }
end;


StdDev[править | править код]

function StdDev(const Data: array of Double): Extended;

Модуль: Math

Описание: Функция вычисляет стандартное среднеквадратичное отклонение (квадратный корень типовой дисперсии) значений массива чисел Data.

Пример:

var
  Mas: array of Double;
  I: Byte;
  Dev: Extended;
begin
  SetLength(Mas, 10);
  for i := 0 to 9 do Mas[i] := i;
  Dev := StdDev(Mas);         { Dev := 3.02765035409749 }
end;


Sum[править | править код]

function Sum(const Data: array of Double): Extended;

Модуль: Math

Описание: Функция возвращает сумму значений всех элементов числового массива Data.

Пример:

var
  Mas: array of Double;
  Summa: Extended;
  i: byte;
begin
  SetLength(Mas, 10);
  for i := 0 to 9 do Mas[i] := i/10;
  Summa := Sum(Mas);         { Summa := 4.5 }
end;


SumInt[править | править код]

function SumInt(const Data: array of Integer): Integer;

Модуль: Math

Описание: Функция возвращает сумму значений всех элементов целочисленного массива Data.

Пример:

var
  Mas: array of Integer;
  Summa, I: Integer;
begin
  SetLength(Mas, 10);
  for i := 0 to 9 do Mas[i] := i;
  Summa := SumInt(Mas);       { Summa := 45 }
end;


SumOfSquares[править | править код]

function SumOfSquares(const Data: array of Double): Extended;

Модуль: Math

Описание: Фнкция возвращает сумму квадратов всех значений числового массива Data:

 Data[0] * Data[0] +
 Data[1] * Data[1] +
 ...
 Data[Length(Data)-1] * Data[Length(Data)-1]

Пример:

var
  Mas: array of Integer;
  SumSqr: Extendes;
  I: Integer;
begin
  SetLength(Mas, 10);
  for i := 0 to 9 do Mas[i] := i/10;
  SumSqr := SumOfSquares(Mas);       { SumSqr := 2.85 }
end;


SumsAndSquares[править | править код]

procedure SumsAndSquares(const Data: array of Double; var Sum, SumOfSquares: Extended);

Модуль: Math

Описание: Процедура возвращает одновременно сумму и сумму квадратов всех значений числового массива Data. При вызове процедуры SumsAndSquares вычисления производятся быстрее, чем при последовательном вызове двух функций Sum и SumOfSquares.

Пример:

var
  Mas: array of Double;
  Sum, SumSqr: Extendes;
  I: Byte;
begin
  SetLength(Mas, 10);
  for i := 0 to 9 do Mas[i] := i/10;
  SumsAndSquares(Data, Summa, SumSqr);
  { Summa := 4.5; SumSqr := 2.85 }
end;


TotalVariance[править | править код]

function TotalVariance(const Data: array of Double): Extended;

Модуль: Math

Описание: Функция вычисляет статистическую дисперсию равную сумме квадратов разницы между каждым конкретным значением массива Data и средним значением, т.е дисперсия =

 (Data[0]-Mean)² + (Data[1]-Mean)² + ... + (Data[n-1]-Mean)²,
 где n - количество элементов массива Data,
 Mean - среднее арифметическое всех значений массива.

Пример:

var
  Mas: array of Double;
  I: Byte;
  V: Extended;
begin
  SetLength(Mas, 5);
  for i := 0 to 4 do Mas[i] := i;
  V := TotalVariance(Mas);         { V := 10 }
end;


TotalVariance[править | править код]

function TotalVariance(const Data: array of Double): Extended;

Модуль: Math

Описание: Функция вычисляет статистическую типовую дисперсию всех значений числового массива Data, по методу n-1.

Пример:

var
  Mas: array of Double;
  I: Byte;
  V: Extended;
begin
  SetLength(Mas, 5);
  for i := 0 to 4 do Mas[i] := i;
  V := Variance(Mas);       // V := 2.5
end;


Source: http://delphi.scps.ru
ID: 00248