From 74ed2f017aeb11bcc725eb6f78039dfb9fc6a022 Mon Sep 17 00:00:00 2001
From: baggepinnen <cont-frb@ulund.org>
Date: Thu, 12 Oct 2017 13:21:49 +0200
Subject: [PATCH] Clean up covariance

---
 src/LTVModelsBase.jl | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/LTVModelsBase.jl b/src/LTVModelsBase.jl
index 6e2d3e3..950dcbe 100644
--- a/src/LTVModelsBase.jl
+++ b/src/LTVModelsBase.jl
@@ -89,6 +89,10 @@ function df(model::AbstractModel, x, u)
     error("This function is not implemented for your type")
     return fx,fu,fxx,fxu,fuu
 end
+
+function covariance(model::AbstractModel, x, u)
+    cov(x[:,2:end]-predict(model, x, u)[:,1:end-1], 2)
+end
 # Model interface ====================================
 
 
@@ -169,13 +173,5 @@ end
 
 
 
-function covariance(model::AbstractModel, x, u)
-    xhat = similar(x)
-    xhat[:,1] = x[:,1]
-    for i = 1:size(x,2)-1
-        xhat[:,i+1] = model.At[:,:,i]*x[:,i] + model.Bt[:,:,i]*u[:,i]
-    end
-    return cov(x-xhat, 2)
-end
 
 end # module
-- 
GitLab