|
Текст подпрограммы и версий bs01r_p.zip , bs01e_p.zip |
Тексты тестовых примеров tbs01r_p.zip , tbs01e_p.zip |
Вычисление среднего, среднего отклонения, среднеквадратического отклонения и дисперсии заданной выборки.
Пусть задан выборочный вектор X = (x1, x2, ..., xN). Подпрограмма вычисляет следующие его характеристики:
среднее значение X = (x1 + x2 + ... + xN)/N
среднее отклонение XD = ( | x1-XM | + | x2-XM | + ... + | xN-XM | ) / N
дисперсию D = { (x1-XM)2 + (x2-XM)2 + ... + (xN-XM)2 } / (N-1)
среднеквадратическое отклонение S = ( D )1/2
С.А.Айвазян, И.С.Енюков, Л.Д.Мешалкин. Прикладная статистика: основы моделирования и первичная обработка данных. М.,"Финансы и статистика", 1983 г.
procedure BS01R(var X :Array of Real; N :Integer; var XM :Real;
var XD :Real; var D :Real; var S :Real);
Параметры
| X - | заданный вещественный выборочный вектор длины N; |
| N - | длина вектора X (тип: целый); |
| XM - | вещественная переменная, содержащая выборочное среднее; |
| XD - | вещественная переменная, содержащая выборочное среднее отклонение; |
| D - | вещественная переменная, содержащая выборочную дисперсию; |
| S - | вещественная переменная, содержащая выборочное среднеквадратическое отклонение. |
Версии
| BS01E - | вычисление среднего, среднего отклонения, среднеквадратического отклонения и дисперсии выборки в режиме расширенной (Extended) точности. |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
Unit tbs01r_p;
interface
uses
SysUtils, Math, { Delphi }
LStruct, Lfunc, UtRes_p, BS01R_p;
function tbs01r: String;
implementation
function tbs01r: String;
var
N :Integer;
XM,XD,S,D :Real;
const
X :Array [0..3] of Real = ( 1.0,2.0,3.0,4.0 );
begin
Result := '';
N := 4;
BS01R(X,N,XM,XD,D,S);
Result := Result + Format('%s',[' TBS01R: XM,XD,D,S =']);
Result := Result + Format('%20.16f %20.16f %20.16f %20.16f ',[XM,XD,D,S])
+ #$0D#$0A;
UtRes('tbs01r',Result); { вывод результатов в файл tbs01r.res }
end;
end.
Результаты: XM = 2.5 XD = 1.0
D = 1.666667 S = 1.290994