How to calculate moving covariance in a matrix?

1 次查看(过去 30 天)
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 个评论
Image Analyst
Image Analyst 2015-10-9
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?
Andrea Finocchiaro
Andrea Finocchiaro 2015-10-9
Yes,correct that is the moving window I mena. But why correlation?I am looking for the Covarinces

请先登录,再进行评论。

采纳的回答

the cyclist
the cyclist 2015-10-9
% 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 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by