Use of semicolon in a for loop

Hello,
I think I once read somewhere that using a semicolon in a for loop statement i.e.
for i = 1:N; %With a semicolon
my_function
end
instead of
for i = 1:N %No semicolon
my_function
end
was better because the 1:N was not created. However I can't seem to be able to find anything about it anymore. Could someone tell if it's true or not or if not what's the point of using a semicolon?

 Respuesta aceptada

Walter Roberson
Walter Roberson el 19 de Dic. de 2011

1 voto

"for" does not create the list 1:N in any modern MATLAB (I do not know if it ever did.)
Some people put in semi-colons out of habit, or because they do not realize that they are not needed. Or they might originally have written
for i = 1:N; my_function; end
and reformatted later and forgot to remove the semi-colon.
I do not know if there is any execution or parsing time difference for using the semi-colon. Some MATLAB versions have had timing oddities so I would not rule out the possibility.

Más respuestas (1)

Daniel Shub
Daniel Shub el 19 de Dic. de 2011

0 votos

I don't think a semicolon or comma adds anything. It does allow everything to be written on one line like
for i = 1:N; my_function, end
Outside of the command window, I am not sure why you would want to do this.

4 comentarios

Walter Roberson
Walter Roberson el 19 de Dic. de 2011
All on one line like that can have notably different timing than each on separate lines, at least prior to 2010b (I think it was.) Slower on one line, I think it was.
Daniel Shub
Daniel Shub el 19 de Dic. de 2011
I also believe it is slower. I am pretty sure if it was faster, my code would look a lot different. Imagine how unreadable code would be if it all had to be on one line.
Côme
Côme el 19 de Dic. de 2011
You don't even need it inside the command window.
Daniel Shub
Daniel Shub el 19 de Dic. de 2011
No, you don't need it, but sometimes it is easier. I find tab completion and the history behaves better if it is all on one line.

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 19 de Dic. de 2011

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by