Matrix interference infinity loop
Mostra commenti meno recenti
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 Commento
Azzi Abdelmalek
il 22 Dic 2012
What are lp and top?
Risposte (1)
Walter Roberson
il 22 Dic 2012
0 voti
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 Commenti
mohammed sportman
il 23 Dic 2012
mohammed sportman
il 23 Dic 2012
Walter Roberson
il 23 Dic 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
il 24 Dic 2012
Walter Roberson
il 24 Dic 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
il 24 Dic 2012
mohammed sportman
il 24 Dic 2012
Categorie
Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!