Текст подпрограммы и версий 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