how can I write a while condition for an empty array?
Mostrar comentarios más antiguos
I write a while loop as:
while set==[]
....
....
end
but when I run my code it only works until the while loop, not enters inside the loop and on the text of the while set==[] there is an error message as: operator '[' is seldom used in a scalar context.
What is the problem? I want my loop run until my set array has no element. If required I can send my code...
Thanks in advance... Regards...
Respuestas (1)
while isempty(value)
...
end
4 comentarios
bilgesu ak
el 25 de Mayo de 2015
Editada: bilgesu ak
el 25 de Mayo de 2015
Walter Roberson
el 25 de Mayo de 2015
We don't know the rest of your code so we cannot say whether there are mistakes in it.
Because the first row is all zeros, the while loop will never begin:
pre= [0 0 0 0 0 0 0 0 0 0 0;
1 0 0 0 0 0 0 0 0 0 0;
1 0 0 0 0 0 0 0 0 0 0;
1 0 0 0 0 0 0 0 0 0 0;
1 0 0 0 0 0 0 0 0 0 0;
1 1 0 0 0 0 0 0 0 0 0;
1 0 1 1 1 0 0 0 0 0 0;
1 1 0 0 0 1 0 0 0 0 0;
1 0 1 1 1 0 1 0 0 0 0;
1 1 0 0 0 1 0 1 0 0 0;
1 0 1 1 1 0 1 0 1 0 0];
AA = find(all(pre==0,2))
when I run this it displays this in my command window:
AA =
1
so AA is not empty, and your while loop will never start. Perhaps you need to fix the algorithm that you are using.
Suggestion: instead of trying to fix broken code, if you actually tell us exactly what you are trying to achieve then we could advise some neat and efficient ways to achieve this.
bilgesu ak
el 25 de Mayo de 2015
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!