2015-02-17 112 views
0

我試圖確定兩個對象的移動是「同相」還是彼此相反。所以基本上我有兩個矢量,R^3中的R1,R2,我想知道他們是否「指向相同的方向」。兩個向量之間的相關性與向量之間的角度

我可以想出兩種計算方法: a)計算兩個向量之間的角度。角度表示它們的對齊。 b)計算兩個向量之間的相關係數。 (例如使用Matlab的corr函數)1意味着它們是平行的,-1反平行的。如果它們垂直,我會得到正負0.5,這看起來不對。

使用這兩種方法有什麼不同嗎?我的直覺認爲這兩種方法應該是相同的,但我不確定。任何人都有一些見解,這些方法可能有哪些差異/優勢? 謝謝!

+0

相關性與角度的餘弦有關,詳情參見[this](http://www.the-idea-shop.com/article/221/a-more-elegant-view-of-the -correlation係數)。 – Arpi 2015-02-17 22:40:40

回答

0

這很容易通過計算兩個歸一化向量之間的點積來完成。反餘弦直接給出矢量之間的角度。

Matlab沒有「corr」函數。它有「xcorr」。兩個3元素矢量之間的互相關是5元素矢量。它的中間元素與點積相同,所以基本上是相同的計算。

+0

Matlab在Statistcs工具箱中有'corr'函數。它返回相關係數(線性或排名)。 – mmagnuski 2015-02-18 12:42:32

+0

對不起,如果我的問題聽起來很愚蠢,但我應該考慮xcorr的5個元素中的哪一個?只有中間元素?我很想使用矢量之間的角度,因爲它似乎是一種更直觀的相關度量。 – Thomas 2015-02-18 21:32:54