Matlab автоматически удаляет индексную переменную после выполнения цикла

В Matlab, когда я использую цикл "for...end", индексирующая переменная все еще существует в моей рабочей области после полного выполнения цикла. . Я хотел бы, чтобы он был автоматически удален, так как он больше не актуален вне цикла и загрязняет рабочее пространство.

Например, в следующем коде переменная «i» все еще существует после выполнения цикла. Поскольку это должна быть локальная переменная, я хотел бы, чтобы она удалялась автоматическибез необходимости делать это явно.

List = [1 2 3 4] ;

for i = List
   fprintf('value = %i\n', i) ; 
end
% "i" still exists, while its outside of its context

clear i; % I would like to avoid doing this everytime I exit a for..end

Я знаю, что это скорее эстетическая проблема, чем ошибка, но для более легкого понимания результатов моей программы я хотел бы, чтобы эти «временные» переменные исчезали, когда я выхожу из их контекста.

До сих пор мне удавалось уменьшить количество этих временных переменных только путем их повторного использования.

Редактировать:

Кажется, что нет реального решения для автоматического удаления этих «временных» переменных. Ближайшие способы избежать наличия этих переменных:

  • Избегание циклов

  • Создавайте циклы в функциях, переменные функций являются локальными и не попадут в рабочую область.

8
задан Mesop 14 May 2012 в 13:12
поделиться