How to calculate moving covariance in a matrix?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Andrea Finocchiaro
le 9 Oct 2015
Commenté : Andrea Finocchiaro
le 9 Oct 2015
Hi guys, Hi Guys, I have got a matrix :378x9. I need to calculate the moving covariance with a window size of 120(starting from row one). Can somebody help me please? Thank you very much Andrea
4 commentaires
Image Analyst
le 9 Oct 2015
OK, so you're finding out the correlation coefficient between column 1 and col 2, col 1 and col 3, etc. But what do you mean by having a moving window? Do you want to not use the whole column, but just a subset/window of the columns, and then do it again with the window moved down until the whole column has eventually been looked at?
Réponse acceptée
the cyclist
le 9 Oct 2015
% Generate some pretend data. Use your real data here.
data = rand(378,9);
[M,N] = size(data);
window = 120;
numberCovarianceMatrices = M - window + 1;
covarianceMatrices = zeros(N,N,numberCovarianceMatrices);
for nc = 1:numberCovarianceMatrices
covarianceMatrices(:,:,nc) = cov(data(nc:(nc+window-1),:));
end
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!