Операции над числовыми массивами
Материал из 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