Can anyone show me how I can avoid following for loops
이전 댓글 표시
*Hello everyone,
Can anyone show me how I can avoid following for loops.
Thanks!*
mth=0;
nth=0;
for i=1:1000
ML = [1,2;3,4];
for ix=1:size(ML,1)
for iy=1:size(ML,2)
M(mth+ix,nth+iy)=ML(ix,iy);
end
end
mth = mth+size(ML,1);
nth = nth+size(ML,2);
end
채택된 답변
추가 답변 (1개)
Walter Roberson
2012년 10월 8일
for iy=1:size(ML,2)
M(mth+ix,nth+iy)=ML(ix,iy);
end
can be written as
MLc = size(ML,2);
M(mth+ix, nth:nth+MLc-1) = ML(ix, 1:MLc);
댓글 수: 3
Daniel Shub
2012년 10월 8일
편집: Daniel Shub
2012년 10월 8일
Are you sure? If nth is 0 and MLc is 2, nth:nth+MLc-1 gives [0, 1] which causes indexing problems. I think it is nth+(1:MLc) on the RHS.
Walter Roberson
2012년 10월 8일
편집: Walter Roberson
2012년 10월 8일
Yes, that would make sense on the LHS.
Daniel Shub
2012년 10월 8일
Yes, LHS not RHS...
카테고리
도움말 센터 및 File Exchange에서 Programming에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!