2012-04-23 81 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