Очистка задач после завершения функции
cleanupObj = onCleanup( создает объект, который при уничтожении выполняет функцию cleanupFun)cleanupFun. MATLAB® неявно очищает все локальные переменные при завершении функции, будь то обычным завершением или принудительным выходом, например ошибкой или Ctrl+C.
Если вы ссылаетесь или проходите cleanupObj вне вашей функции, тогда cleanupFun не запускается, когда эта функция завершается. Вместо этого он запускается всякий раз, когда MATLAB уничтожает объект.
Избегайте использования вложенных функций во время очистки. MATLAB может очистить переменные, используемые во вложенных функциях, прежде чем функция очистки попытается считать их.
Если ваша программа содержит несколько объектов очистки, MATLAB не гарантирует порядок уничтожения этих объектов. Если порядок ваших функций очистки имеет значение, задайте один onCleanup объект для всех задач.
Если вы сохраняете onCleanup Объект отображает предупреждение и не сохраняет cleanupFun задача очистки.