Vectorization of a nestled loop

1 view (last 30 days)
AM
AM on 12 Oct 2018
Commented: AM on 12 Oct 2018
I am trying to improve the overall performance of my code and I am learning about vectorization. I've read the documentation on this but I'm having a hard time with even seemingly simple parts of the code. I have the following loop
dndt=zeros(m,1);
for i=1:n
for j=1:m
dndt(j,1)=dndt(j,1)+matA(i,j)*B(i);
end
end
Where matA is a n x m matrix and B is a vector of size n. I'm not sure how to do this.
Any tips or help is appreciated, thank you!

Accepted Answer

Stephen23
Stephen23 on 12 Oct 2018
Edited: Stephen23 on 12 Oct 2018
matA.'*B(:)
which gives an output with size mx1, just like your nested loops. Even simpler:
B*matA
which gives an output with size 1xm.
  1 Comment
AM
AM on 12 Oct 2018
It works perfectly, thank you!

Sign in to comment.

More Answers (0)

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!