La solución simple es convertir esos ángulos a un conjunto de vectores, desde coordenadas polares a coordenadas cartesianas.
Dado que está trabajando con colores, piense en esto como una conversión en el plano (a *, b *). Luego tome la media de esas coordenadas, y luego regrese nuevamente a la forma polar. Hecho en Matlab,
theta = [355,5,5,5,5];
x = cosd(theta); % cosine in terms of degrees
y = sind(theta); % sine with a degree argument
Ahora, toma la media de x e y, calcular el ángulo, a continuación, convertir de nuevo de radianes a grados.
meanangle = atan2(mean(y),mean(x))*180/pi
meanangle =
3.0049
Por supuesto, esta solución solo es válida para el ángulo medio. Como puede ver, produce un resultado consistente con la media de los ángulos directamente, donde reconozco que 355 grados realmente se ajusta a -5 grados.
mean([-5 5 5 5 5])
ans =
3
para calcular la desviación estándar, es más sencilla de hacerlo como
std([-5 5 5 5 5])
ans =
4.4721
Sí, eso me obliga a hacer la envoltura de forma explícita.
Después de buscar mucho más con Google, encontré un enlace de regreso a Stackoverflow desde una publicación que realmente habla de la dirección promedio del viento: http://stackoverflow.com/questions/491738/how-do-you-calculate-the-average- of-a-set-of-angles/3651941 # 3651941 Pero no aborda el problema de la desviación estándar. – drb
Una vez que tienes una media con la que estás contento, puedes calcular la desviación estándar de las desviaciones promedio, ¿no? – AakashM
@AakashM, todavía estoy tratando de resolver esto. Sé código. Las estadísticas son un poco más confusas. – drb