[P&AM Lab] Устойчивый онлайн алгоритм -- стандартное отклонение

Grigoriy A. Sitkarev sitkarev на komitex.ru
Вс Сен 9 00:39:30 MSK 2012


Приветствую всех.

Последняя рекуррентная формула, что я показывал, в коде на Си ниже.

На мой взгляд, в коде выглядит проще, чем в формуле на доске. Может быть 
я не прав.

#define NELEMS(x)	(sizeof(x)/sizeof(x[0]))

void
var3()
{
	float x[] = { 10000, 10001, 10002 };
	float M, Q;
	float c, s2;
	int i;

	M = x[0];
	Q = 0.0;

	for (i = 1; i < NELEMS(x); i++) {
		c = x[i] - M;
		Q += (i*c*c)/(i+1);
		M += c / (i+1);
		s2 = Q / i;
	}

	printf("mu=%e s^2=%e\n", M, s2);
}

Удачных экспериментов.

--
Г.А.




Подробная информация о списке рассылки Lab