How to coup with matrix dimension?

3 Ansichten (letzte 30 Tage)
Tallha Akram
Tallha Akram am 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.

Antworten (1)

Wayne King
Wayne King am 14 Sep. 2012
Bearbeitet: Wayne King am 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 Kommentare
Tallha Akram
Tallha Akram am 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 am 14 Sep. 2012
I'm not sure what you're saying. If you have a 200x2 matrix, the covariance matrix is 2x2

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by