Giải pháp đơn giản là chuyển đổi các góc đó thành một tập hợp các vectơ, từ các tọa độ cực thành các tọa độ Descartes.
Vì bạn đang làm việc với màu sắc, hãy nghĩ đây là một chuyển đổi thành mặt phẳng (a *, b *). Sau đó lấy giá trị trung bình của các tọa độ đó và sau đó trở lại thành dạng cực. Thực hiện trong matlab,
theta = [355,5,5,5,5];
x = cosd(theta); % cosine in terms of degrees
y = sind(theta); % sine with a degree argument
Bây giờ, lấy trung bình của x và y, tính góc, sau đó chuyển đổi trở lại từ radian sang độ.
meanangle = atan2(mean(y),mean(x))*180/pi
meanangle =
3.0049
Tất nhiên, giải pháp này chỉ hợp lệ cho góc trung bình. Như bạn thấy, nó mang lại một kết quả nhất quán với trung bình của các góc trực tiếp, nơi tôi nhận ra rằng 355 độ thực sự kết thúc tốt đẹp đến -5 độ.
mean([-5 5 5 5 5])
ans =
3
Để tính toán độ lệch chuẩn, nó là đơn giản nhất để làm điều đó như
std([-5 5 5 5 5])
ans =
4.4721
Vâng, đó là đòi hỏi tôi phải làm quấn một cách rõ ràng.
Nguồn
2011-11-17 16:21:33
Sau khi tìm hiểu kỹ hơn về Google, hãy tìm liên kết ngược trở lại luồng dự phòng từ bài đăng thực sự thảo luận hướng gió trung bình: http://stackoverflow.com/questions/491738/how-do-you-calculate-the-average- of-a-set-of-angle/3651941 # 3651941 Nhưng nó không giải quyết vấn đề độ lệch chuẩn. – drb
Một khi bạn đã có một ý nghĩa bạn đang hạnh phúc với, bạn chỉ có thể tính toán độ lệch chuẩn từ độ lệch trung bình, phải không? – AakashM
@AakashM, tôi vẫn đang cố gắng tìm ra điều này. Tôi biết mã. Thống kê tôi hơi mơ hồ hơn một chút. – drb