From 55f9ab89fd61c792eb6385aca5512fd043b7f677 Mon Sep 17 00:00:00 2001
From: Lewin Probst <info@emirror.de>
Date: Thu, 16 Jul 2020 13:12:33 +0200
Subject: [PATCH] Added a more descriptive error message if variation
 calculation is failing.

---
 VERSION                                              | 2 +-
 lib/+artoa/+trajectory/calculateByOffsetVariations.m | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/VERSION b/VERSION
index e26ed8d..0e92c3c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-305
\ No newline at end of file
+306
\ No newline at end of file
diff --git a/lib/+artoa/+trajectory/calculateByOffsetVariations.m b/lib/+artoa/+trajectory/calculateByOffsetVariations.m
index b8556ff..25771e5 100644
--- a/lib/+artoa/+trajectory/calculateByOffsetVariations.m
+++ b/lib/+artoa/+trajectory/calculateByOffsetVariations.m
@@ -48,6 +48,10 @@ for i = 1:length(variationResults{end}.dates)
     results{i}.observations = observations;
     % get covariance matrix
     results{i}.covarianceMatrix = cov(observations);
+    % check if matrix contains nan or inf
+    if (any(isnan(results{i}.covarianceMatrix), 'all') | any(isinf(results{i}.covarianceMatrix), 'all'))
+        error([mfilename ': Covariance matrix contains NaN or Inf, the eigenvalues cannot be calculated. This could be a result of a not converging tracking algorithm.']);
+    end
     % eigendecomposition
     [results{i}.V, results{i}.D] = eig(results{i}.covarianceMatrix);
 end
-- 
GitLab