很久沒有用Matlab工具了,最近由於需要數據處理所以又重拾起
主要記錄如何用Matlab計算矩陣的相關系數方法
這里介紹的是皮爾森(Pearson)相關系數,corr()默認為是Pearson
(協方差/二者的方差的乘積)方差是標准差的開方,都表示數據的離散程度(震盪程度)
矩陣形式:4096*3575
目標:得到該矩陣每一行與其余行數據之間的相關系數矩陣(4096*4096相關系數矩陣)
例如:A=[1 2 3
12 14 15
23 34 45]
計算A第一行與第二行,第三行,第二行與第一行,第三行,第三行與第一行,第二行的關於對角線對稱的相關系數的矩陣
如下使用corrcoef方法計算矩陣中某兩行之間的系數矩陣,0.9820是我們想要的系數
最開始知道用corrcoef()可以直接結算兩個向量之間的系數(可以用help corrcoef進行查閱具體用法)
以上是處理本數據的代碼,一行大概需要處理1分鍾,速度超級慢
以上方法自己編寫的太笨了,計算完系數需要自己填入系數矩陣中,所以每次都要迭代速度慢且占內存
后來找到一個corr(),輸入矩陣后就可以直接得到相關系數的矩陣了,很方便,先將原有數據轉置,后用corr(轉置矩陣),計算就可以得到相關系數矩陣
真是太方便了!!!