Matrix Multiplication for each row
2 ビュー (過去 30 日間)
古いコメントを表示
Ankush Kumar Mishra
2021 年 10 月 21 日
コメント済み: Ankush Kumar Mishra
2021 年 10 月 21 日
I have a matrix A = 100000*2 and matrix B which is a symmetric square matrix with number of row and columns equal to the number of columns of A.
I want to compute diag (A*B*A') but since A*B*A' is 100000*100000, matlab cannot compute it and then give diagonal of it. Any workaround?
What i am actually looking for is The first row of A multiplied by B and then multiplied by first column of A'. Now, I can perform this 100000 times to get 100000*1 matrix but that is time consuming. Any workaround will be appreciated?
0 件のコメント
採用された回答
Chunru
2021 年 10 月 21 日
n = 5; %100000
A = randn(n, 2);
B = [4 2; 2 3];
if n<100
d1 = diag(A*B*A')
end
d2 = sum(A.*(A*B'), 2)
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Multidimensional Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!