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 に答える