Matrix interference infinity loop
Afficher commentaires plus anciens
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 commentaire
Azzi Abdelmalek
le 22 Déc 2012
What are lp and top?
Réponses (1)
Walter Roberson
le 22 Déc 2012
0 votes
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 commentaires
mohammed sportman
le 23 Déc 2012
mohammed sportman
le 23 Déc 2012
Walter Roberson
le 23 Déc 2012
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
le 24 Déc 2012
Walter Roberson
le 24 Déc 2012
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
le 24 Déc 2012
mohammed sportman
le 24 Déc 2012
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!