回 帖 发 新 帖 刷新版面

主题:求助协方差矩阵的问题

请高手回答下在matlab中两个矩阵的协方差矩阵怎么求,用cov求出来的都是2*2的矩阵,显然不行,所以想请高手指点一下,急用啊,谢谢

回复列表 (共4个回复)

沙发

比如有两个矩阵分别为a,b,可以用合并的方法
c=[a b];
d=cov(c);
则d(1:size(a,1),size(a,2)+1:end)为两个矩阵的协方差矩阵

板凳

[quote]比如有两个矩阵分别为a,b,可以用合并的方法
c=[a b];
d=cov(c);
则d(1:size(a,1),size(a,2)+1:end)为两个矩阵的协方差矩阵 [/quote]
好像是错误的哦,打个比方计算矩阵P ,X的协方差,P和X都为3*2000的矩阵,以你的方法算出来的协方差是3*2000的矩阵,但事实是应该产生一个3*3的矩阵。

3 楼

若按你的说法,如果P,X都是3*2000的矩阵,且P==X,那么求矩阵P和X的协方差矩阵应该和求P或X的自协方差矩阵一样,也就是说结果应该是3*3的矩阵,而用cov(P)命令得出的却是3*2000矩阵,这样岂不是matlab这个自带的函数有问题?!呵呵

4 楼

已经解决了,不使用MATLAB的COV函数,而是按数学公式分步做出来的,虽然麻烦点,不过还是得到了结果

我来回复

您尚未登录,请登录后再回复。点此登录或注册