|
Текст подпрограммы и версий bs02r_c.zip , bs02d_c.zip |
Тексты тестовых примеров tbs02r_c.zip , tbs02d_c.zip |
Вычисление коэффициентов асимметрии и эксцесса заданной выборки
Пусть задан выборочный вектор X = (x1, x2, ..., xN). Подпрограмма вычисляет выборочные значение коэффициентов асимметрии A и эксцесса E:
A = {(x1-Xcp)3 + (x2-Xcp)3 + ... + (xN-Xcp)3} / (N * S3)
E = {(x1-Xcp)4 + (x2-Xcp)4 + ... + (xN-Xcp)4} / (N * S4) - 3
где Xcp - среднее и S - среднеквадратическое отклонение:
Xcp = (x1 + x2 + ... + xN) / N
S = { ( (x1-Xcp)2 + (x2-Xcp)2 + ... + (xN-Xcp)2 ) / (N-1) }1/2
С.А.Айвазян, И.С.Енюков, Л.Д.Мешалкин. Прикладная статистика: основы моделирования и первичная обработка данных. М.,"Финансы и статистика", 1983 г.
int bs02r_c (real *x, integer *n, real *a, real *e)
Параметры
| x - | заданный вещественный выборочный вектор длины n; |
| n - | длина вектора X (тип: целый); |
| a - | вещественная переменная, содержащая выборочный коэффициент асимметрии; |
| e - | вещественная переменная, содержащая выборочный коэффициент эксцесса |
Версии
| bs02d_c - | вычисление коэффициентов асимметрии и эксцесса в режиме удвоенной точности |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
int main(void)
{
/* Initialized data */
static float x[4] = { 1.f,2.f,3.f,5.f };
/* Local variables */
extern int bs02r_c(float *, int *, float *, float *);
static float a, e;
static int n;
n = 4;
bs02r_c(x, &n, &a, &e);
printf("\n tbs02r: a, e = %16.7e %16.7e \n", a, e);
return ;
} /* main */
Результаты: a = 0.2823139, e = -1.961786