2

这个函数在做什么?它声明它是点积的规范化版本,我认为这意味着

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) ;

点 1 != 点 2

4

1 回答 1

3

标准化的点积将是

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

您的表达式仅适用于 |A|=|B|

于 2012-04-23T19:59:20.707 回答