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?

 Réponse acceptée

Walter Roberson
Walter Roberson le 19 Déc 2011

1 vote

"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.

Plus de réponses (1)

Daniel Shub
Daniel Shub le 19 Déc 2011

0 votes

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 commentaires

Walter Roberson
Walter Roberson le 19 Déc 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 le 19 Déc 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 le 19 Déc 2011
You don't even need it inside the command window.
Daniel Shub
Daniel Shub le 19 Déc 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by