Итак, я недавно начал регулярно использовать встроенный профилировщик Matlab и заметил, что, хотя он обычно отлично показывает, какие строки занимают больше всего времени, иногда он показывает мне большой кусок времени. используется в операторе end цикла for.
Теперь, видя, что такая линия просто используется для обозначения конца цикла, я не могу представить, как она может использовать что-либо, кроме тривиального объема обработки.
Я видел конкретную версию этого вопроса, заданную в matlab Central, но консенсус, похоже, не был достигнут.
РЕДАКТИРОВАТЬ: Вот минимальный пример этой проблемы:
for i =1:1000
x = 1;
x = [x 1];
% clear x;
end
Даже если вы раскомментируете clear, строка end по-прежнему требует много вычислений (около 20%), а clear фактически увеличивает абсолютный объем вычислений, выполняемых конечной строкой.
end. Тем не менее, освобождение имело бы смысл. - person Bill Cheatham   schedule 02.08.2011