Matrix Multiplication for each row
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ankush Kumar Mishra
am 21 Okt. 2021
Kommentiert: Ankush Kumar Mishra
am 21 Okt. 2021
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 Kommentare
Akzeptierte Antwort
Chunru
am 21 Okt. 2021
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)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!