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