DOSEIの日記

技術メモ+日常ログ

列ベクトルの内積とか正規化とか

列ベクトルが並んだ同サイズ行列 A と B があって、各列ベクトルの内積を求めるには、

trace(A'*B)

各列ベクトルを単位ベクトルに正規化するには、まず、各列のノルムを (横ベクトルとして) 求め、

nA = norm(A, "cols");

ベクトルの次元だけ、縦にコピーして、各要素を割る。

UA = A ./ repmat(nA, size(A,1), 1);

ついでに、各列単位ベクトルの間の角度を求めるには、

aAB = acos(trace(UA' * UB));