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 个)
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!