How do you vectorize the following for loop?
조회 수: 6 (최근 30일)
이전 댓글 표시
I'm trying to vectorize this for loop. A and B are both vectors. The general idea is that D should be a vector made up of 0's and 1's whenever an element of B matches A. For example, since B(3)=6 and A(6)=6, D(6) should be equal to 1. Here's the non-vectorized (correct) code:
A=[1:10]'; B=[1 2 6 9]'; D=zeros(length(A),1);
for i=1:length(B) C=(A==B(i)); D=D+C; end
My initial guess at vectorization was this: (NOTE: this code is incorrect)
A=[1:10]'; B=[1 2 6 9]'; D=(A==B);
The error comment I get after running the incorrect code is: Error using == Matrix dimensions must agree.
Thanks ahead of time, and if I'm unclear in anyway, I'd gladly clarify.
댓글 수: 0
채택된 답변
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 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!