Matlab, automatically delete the index variable after the execution of a loop, Part 2

suppose I have a loop
for i=1:10
T(i,:)='NY';
end
then I want to clear the index variable 'i'. One way is to do
clear i
But is there a simpler way?

6 Comments

How is this part 2, since you asked identically the same question on stackoverflow? Is this just a general survey of every possible site, in case you can get a different answer? You cannot automatically delete a loop index variable after a loop. This is part of the language, and expected.
The simple answer is to just learn to use functions, then all of your spurious variables go away.
I'd not even bother. In these days of computers with 32 billion bytes of RAM, why bother clearing 8 bytes?
Anyway how much simpler to you want? It's only 6 characters on one line of code. It won't get any simpler.
I agree. Clearing the variable is just a waste of CPU cycles, however you might do it. Why bother?
then I want to clear the index variable 'i'
Why? What benefit do you hope to gain from doing this?
I agree that it will not matter from the execution perspective. But I need to send a script to a person and that person is not a programmer. So I need to clean up eveything as much as I can.
It would be very useful if there was an option to have Matlab always clear the loop variable on exit from the loop. That is to say, the loop variable should have a scope only within the loop.
As things stand, the careful programmer has to put "clear loopvariable" after every closing "end" statement, which is tedious.

Sign in to comment.

 Accepted Answer

That is the simpler way.

2 Comments

If you have multiple loops , use the same index variable for all of them and finally use
clear index_variable

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 19 Dec 2020

Edited:

on 2 Aug 2021

Community Treasure Hunt

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

Start Hunting!