2016-02-15 81 views
1

在Matlab中,我已經創建了一個矩陣A與大小(244x2014723) 並與尺寸的矩陣B (244x1)差異協方差和相關矩陣之間

我能夠計算使用corr(A,B)其產生在一個矩陣中的相關矩陣大小爲2014723x1。因此,矩陣A的每一列都與矩陣B相關,並在大小爲2014723x1的矩陣中給出一個行值。

我的問題是當我要求一個使用cov(A,B)的協方差矩陣時,我得到一個錯誤,說A和B應該有相同的大小。爲什麼我會得到這個錯誤?如何找到corr(A,B)cov(A,B)有什麼不同?

回答

0

的答案,如果你讀的文檔是相當清楚的

如果A和B是觀察,COV的矩陣(A,B)把A和B作爲載體,是相當於cov(A(:),B(:))。 A和B必須具有相同的大小。

corr

科爾(X,Y)返回包含每對列之間的成對相關係數在n乘p1和n乘P2到P1-通過-P2矩陣(X,Y)與MATLAB函數corrcoef(X,Y)之間的差別在於corrcoef(X,Y)返回兩列向量X和Y的相關係數矩陣Y.如果X和Y不是列向量,則corrcoef(X,Y)將它們轉換爲列向量。

一種方法,你可以得到你的向量的協方差與矩陣的每一列是使用循環。另一種方法(可能是效率取決於大小)

C = cov([B,A]) 

,然後看第一行(或列)或C

0

link

在更多的部分,描述COV是如何計算的COV方程式(A,B),就能明白他們需要是相同的大小。總和只是一個枚舉A,B元素的變量。

cov