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