Proste rozwiązanie polega na zamianie tych kątów na zbiór wektorów, od współrzędnych biegunowych na współrzędne kartezjańskie.
Ponieważ pracujesz z kolorami, pomyśl o tym jako o przekształceniu w płaszczyznę (a *, b *). Następnie weź średnią z tych współrzędnych, a następnie ponownie powróć do formy polarnej. Sporządzono w Matlab,
theta = [355,5,5,5,5];
x = cosd(theta); % cosine in terms of degrees
y = sind(theta); % sine with a degree argument
Teraz wziąć średnią z X i Y, obliczyć kąt, a następnie z powrotem przekonwertować z radianów na stopnie.
meanangle = atan2(mean(y),mean(x))*180/pi
meanangle =
3.0049
Oczywiście to rozwiązanie jest ważne tylko dla średniego kąta. Jak widać, daje to stały wynik ze średnią kątów bezpośrednio, gdzie rozpoznaję, że 355 stopni naprawdę zawija się do -5 stopni.
mean([-5 5 5 5 5])
ans =
3
Aby obliczyć odchylenie standardowe, to najprościej zrobić to jako
std([-5 5 5 5 5])
ans =
4.4721
tak, że wymaga mi zrobić okład wyraźnie.
Po znacznie lepszym poznawaniu firmy przez Google, znalazłem link do stackoverflow z wpisu omawiającego kierunek wiatru: http://stackoverflow.com/questions/491738/how-do-you-calculate-the-average- z-a-kąty/3651941 # 3651941 Ale nie rozwiązuje problemu odchylenia standardowego. – drb
Kiedy już jesteś podły, z którego jesteś zadowolony, możesz po prostu obliczyć odchylenie standardowe od średnich odchyleń, prawda? – AakashM
@AakashM, nadal próbuję to rozgryźć. Znam kod. Statystyki Jestem trochę bardziej zamyślony. – drb