diff --git a/src/LTVModelsBase.jl b/src/LTVModelsBase.jl index 6e2d3e31d789716467ffa97f9cea7c0e20b79df4..950dcbe4a0df776b2eec61d9e4982bd830c08a81 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