mxn and nxn matrix element-wise multiplication without for loop
1 view (last 30 days)
Show older comments
I have 2 2D matrices. First one, A, is mxn where m=n*k and second one, B, is nxn. How do I do element-wise multiplication of every nxn square sub matrix of A with B without for loop? and sum all elements of every multiplied nxn matrix and get a nx1 vector? Below is what I did with for loop. I need to perform the for loop in one row.
n = 10;
k = 5;
A = rand(k*n,n);
B = rand(n,n);
results = zeros(k,1);
for i=1:k
results(i) = sum(B.*A(1+n*(i-1):i*n,:),'all');
end
6 Comments
Cris LaPierre
on 26 Oct 2020
Edited: Cris LaPierre
on 26 Oct 2020
What about the requirement to use elementwise multiplication and not use for loops? What about achieving this all in a single row?
Accepted Answer
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!