diff --git a/skais/stats/angluar.py b/skais/stats/angluar.py index 3fbac4263dda68700b39f813f412da10b52ebfaa..b2181db23a26afff28985c2953489e6284d13a70 100644 --- a/skais/stats/angluar.py +++ b/skais/stats/angluar.py @@ -18,13 +18,13 @@ def angular_mean(x): theta = abs(np.arctan2(X, Y)) - if Y > 0 and X > 0: + if Y > 0 and X > 0: # first Q return theta - if Y > 0 >= X: - return np.pi/2 - theta + if Y > 0 >= X: # Second Q + return np.pi/2 + theta - if Y <= 0 < X: - return np.pi + theta - else: - return 2 * np.pi + theta + if Y <= 0 < X: # Fourth Q + return np.pi/2 - theta + else: #Third Q + return - theta diff --git a/skais/tests/stats/test_angular.py b/skais/tests/stats/test_angular.py index ae524adc08fda2f4e0f6883e9efd50f68a3c11a4..0accd40b70e382ad3f35b569c9f1099f3761db53 100644 --- a/skais/tests/stats/test_angular.py +++ b/skais/tests/stats/test_angular.py @@ -34,9 +34,9 @@ class TestAngular(unittest.TestCase): def test_angular_mean_third_quadrant(self): x = np.radians(np.array([223, 224, 225, 226, 227])) - self.assertEqual(5*np.pi / 4, angular_mean(x)) + self.assertEqual(-3*np.pi / 4, angular_mean(x)) def test_angular_mean_fourth_quadrant(self): x = np.radians(np.array([313, 314, 315, 316, 317])) - self.assertEqual(7*np.pi / 4, angular_mean(x)) + self.assertEqual(-np.pi / 4, angular_mean(x))