Fast matrix multiplication in loop
古いコメントを表示
Dear All,
I have two matrices with dimensions 3x3 and E6x3. I need to multiply each row of the latter with the former. It's like
a=rand(3,3);
b=(1000000,3);
for i=1:size(b,1)
c=a*b(i,:)';
end
However, this step takes hours to be done. I wonder if there is any faster way to do this.
Cheers.
1 件のコメント
Jos (10584)
2014 年 2 月 7 日
element-by-element or matrix multiplications?
採用された回答
その他の回答 (2 件)
Jos (10584)
2014 年 2 月 7 日
Two options:
1. pre-allocate C to avoid memory allocation in each iteration
C = zeros(N, ..) % pre-allocation
for k = 1:N,
C(k,:) = ..
end
2. Use BSXFUN
カテゴリ
ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!