Matrix interference infinity loop
이전 댓글 표시
When you put a value to the counter, for example more than 15 and at a number of attempts 10000. the matrix interference in Loop indefinitely What is the reason for this and how can I fix the problem
code
m=15;
klp=0;
for i=1:m
klp=klp+1;
lp(klp)=top;
end
lp(klp)=top interference to infinity loop
댓글 수: 1
Azzi Abdelmalek
2012년 12월 22일
What are lp and top?
답변 (1개)
Walter Roberson
2012년 12월 22일
0 개 추천
Are you sure it is an infinite loop, and not just very slow? You are not preallocating your output array, so every time you add more information to the array, MATLAB has to allocate a new block of memory just slightly larger, and copy the old array, then delete the old array -- for every iteration.
댓글 수: 7
mohammed sportman
2012년 12월 23일
mohammed sportman
2012년 12월 23일
Walter Roberson
2012년 12월 23일
You are getting an out of memory error, and then the display starts repeating the same thing over and over again?
You mention something about "number of attempts 10000". I do not see where that is in the code?
mohammed sportman
2012년 12월 24일
Walter Roberson
2012년 12월 24일
Does your code have a try/catch in it? If so then it might be catching the out-of-memory error instead of exiting.
Have you revised your code to pre-allocate the memory yet?
mohammed sportman
2012년 12월 24일
mohammed sportman
2012년 12월 24일
카테고리
도움말 센터 및 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!