如果我有两个矩阵A
和B
,那么以下(在Matlab中)执行以下操作的最佳方式是什么,请大小m
- by - {{1} }:
n
答案 0 :(得分:1)
这只不过是
C = A*B';
其中A
和B
均为m
- by - n
。除非矩阵具有特殊属性,否则我不确定你会比那更有效率。
使用bsxfun
进行矩阵乘法的好处是,当尺寸足够大(可能是100乘100或更多)并且一个矩阵是对角线时,例如:
A = rand(1e2);
B = diag(rand(1,1e2));
C = bsxfun(@times,A,diag(B).');
这种情况发生在许多矩阵变换中 - 请参阅sqrtm
的代码(例如edit sqrtm
)。