Question

MATLAB inbuilt function Cov(M) always returns a singular matrix. It is happening irrespective of M(3x3) I choose. Please help me out.

Was it helpful?

Solution

That may be true, it is always hard to find any relationship for short sequences as 3x3. You most likely need more samples. Think that you would have 3 sequences with N samples each. Then you need to find a relation between the sequences. If N = 3 you could quite easily guess that you are a bit short of data to confirm anything statistically. However I can assure you that the function works fine. Just try

M = randn(1000,3);
c = cov(M)
invc = inv(c)
detc = det(c)

which gives the wanted result.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top