How to coup with matrix dimension?

2 views (last 30 days)
Tallha Akram
Tallha Akram on 14 Sep 2012
I have equation e.g a* (b*b') to update Covariance Matrix.
a=(200 * 2) 200 rows and 2 cols
b=(200 * 2)
I need an output of dimension (2 * 2), How to deal with this problem. Is there any mathematical Concept i am Lacking?
Thanks in Advance.

Answers (1)

Wayne King
Wayne King on 14 Sep 2012
Edited: Wayne King on 14 Sep 2012
a = randn(200,2);
c = a'*a;
You can just use cov()
a = randn(200,2);
y = cov(a);
The equivalence can be made exact by scaling the output of a'*a along with zero-meaning the columns.
So compare:
a = randn(200,2);
ac = bsxfun(@minus,a,sum(a,1)/200);
(ac'*ac)/199
with
cov(a)
  2 Comments
Tallha Akram
Tallha Akram on 14 Sep 2012
Dear King, b matrix can only be of either dimension (2*2) or (200,200) , as i am taking transpose.
Wayne King
Wayne King on 14 Sep 2012
I'm not sure what you're saying. If you have a 200x2 matrix, the covariance matrix is 2x2

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!