2012-04-23 2 views
2

Что это за функция? Он утверждает, что нормированная версия продукта точка, которую я предположительно имел в видуC++ Armadillo: что делает «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 при поиске чего-то еще, и думал, что это операция, которую я делаю (чего я не знаю). – oracle3001

Смежные вопросы