How do I efficiently find the mean and covariance of a cell containing matrices with different rows?
1 view (last 30 days)
Show older comments
I have a 1x15 cell which contains 15 matrices, and each of them has different number of rows but all have the same number of columns(14). I am trying to find the mean and covariance of the whole cell. I compute them by concatenating all matrices into a big matrix and use the built-in functions to get the result, which looks like this:
M = C{1};
for i=2:15
M = [M; C{i}];
end
mean = mean(M);
cov = cov(M);
I think this approach does not fully take advantage of the flexibility of cells. Is there a more efficient way to do that?
0 Comments
Accepted Answer
ANKUR KUMAR
on 10 Oct 2018
Edited: ANKUR KUMAR
on 10 Oct 2018
Use concatenate to mix up all cells into one matrix.
cat(2,C{:}); %you can use this only if number of rows must be same in all cells
or
cat(1,C{:}); %for your data
After using cat, calculate mean and cov in usual manner.
As your data have the different number of rows in all cells, you cannot use cat(2,C{:}).
0 Comments
More Answers (0)
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!