2012-04-23 77 views
2

這個函數在做什麼?它指出它是點的產品,這是我認爲的規範化版本意味着C++犰狳:「norm_dot」是做什麼的?

func norm_dot(A,B) = dot(A,B)/||B||^2 

vec A(3,1) ; A.randu() ; 
vec B(3,1) ; B.randu() ; 

double dot1 = dot(A,B)/arma::accu(arma::square(B)) ; 

double dot2 = norm_dot(A,B) ; 

DOT1!= DOT2

回答

3

的歸一化點的產品將是

dot(A,B)/(|A||B|) 

你的表情只適用於| A | = | B |

+0

我的壞......謝謝......我正在執行一篇論文,並且正在做點(A,B)/ B^2類操作的加載,並在尋找其他東西時迅速看到了Arma文檔中的norm_dot,並認爲這是我正在做的手術(我不是)。 – oracle3001 2012-04-23 20:04:09