How to avoid for nested loops with if condition?
이전 댓글 표시
Hello,
I have big matrixes of same size, and am suing for loop with if statement, which is bottleneck in my code and is very slow. How would it be possible to optimize it?
for i=1:n1
for j=1:n2
if id(i,j)==1
if RR(i,j)==1
id(i,x(i,j))=0;
end
end
end
end
Maybe it is possible to vectorize or use bsxfun?
채택된 답변
추가 답변 (1개)
Nithin Banka
2018년 6월 25일
I don't think you need to use 'for' loop. The 2 'if' statements can be easily handled in MATLAB.
index_of_1_in_id_and_RR = (id==1&RR==1); %valid as you told they have same size
You can use this variable in further steps.
댓글 수: 3
Mantas Vaitonis
2018년 6월 25일
Nithin Banka
2018년 6월 25일
Can you provide me 'x'?
Mantas Vaitonis
2018년 6월 25일
카테고리
도움말 센터 및 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!