Nested for loop, too slow
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello, I have a 2464 x 2464 matrix (44 block matrixes 56x56). I need an algorithm to put at 0 at each iteration the rows and columns i, i + 56, i + 112, i + 168 .... i + 2352.
I wrote this:
for j=1:56
D=A;
for i=1:43
D(j,1:end)=0;
D(1:end,j)=0;
for m=j+(i*56)
D(m,1:end)=0;
D(1:end,m)=0;
end
C=D;
xlswrite('results.xlsx',C,j);
end
end
and, apparently, it works, but it's so slow. Too slow! Any suggestion?
댓글 수: 0
채택된 답변
Bob Thompson
2019년 4월 26일
편집: Bob Thompson
2019년 4월 26일
It looks like you want to blank the entire row, correct?
A = 1:56:2464;
D(A,:) = 0;
EDIT** Change variable names as you need to, I just used generic ones without looking at what exactly you used.
추가 답변 (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!