MATLAB: Use of semicolon in a for loop

for loopMATLAB

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?

Best Answer

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