clear

Удалите элементы из рабочей области, освободив системную память

Синтаксис

clear
clear name1 ... nameN
clear -regexp expr1 ... exprN
clear ItemType

Описание

clear удаляет все переменные из текущей рабочей области, выпуская их от системной памяти.

пример

clear name1 ... nameN удаляет переменные, скрипты, функции или MEX-функции name1 ... nameN из памяти.

пример

clear -regexp expr1 ... exprN удаляет все переменные, которые совпадают с любым из перечисленных регулярных выражений. Эта опция только удаляет переменные.

пример

clear ItemType удаляет типы элементов, обозначенных ItemType, такие как all, functions или classes.

Примеры

свернуть все

Задайте две переменные a и b, и затем очистите a.

a = 1;
b = 2;
clear a

Только переменный b остается в рабочей области.

whos
  Name      Size            Bytes  Class     Attributes

  b         1x1                 8  double              

Используя регулярные выражения, очистите те переменные с именами, которые начинаются с Mon, Tue или Wed.

clear -regexp ^Mon ^Tue ^Wed;

Создайте массив ячеек, vars, который содержит имена переменных, чтобы очиститься. Затем очистите те переменные.

vars = {'v1','v2','time'};
clear(vars{:})

Если функция заблокирована или в настоящее время рабочая, она не очищена из памяти.

clear functions

Входные параметры

свернуть все

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

Если name является a:

  • Функция, затем clear повторно инициализирует любые персистентные переменные в функции. Определение локальной или вложенной функции не поддержано.

  • Скрипт или функция, которая является выполняющимся в данным моментом или функцией, заблокированной mlock, затем clear, не удаляют его.

  • Глобальная переменная, затем clear удаляет его из текущей рабочей области, но это остается в глобальной рабочей области. Чтобы удалить глобальную переменную из всех рабочих областей, используйте clear global variable.

Используйте частичный путь, чтобы различать различные перегруженные версии функции. Например, clear polynom/display очищает только метод display для объектов polynom, оставляя любые другие реализации в памяти.

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

Тип элементов, чтобы очиститься, заданный как одно из следующих.

Значение ItemTypeОчищенные элементыПримечания
Переменные в осциллографеСкрипты и функцииОпределения классовПерсистентные переменныеMEX-функцииГлобальные переменныеСписок импортаКлассы Java на динамическом пути

все

 От командной строки только 

Вызов clear all уменьшает производительность кода и является обычно ненужным. Для получения дополнительной информации смотрите раздел Tips.

классы

 

Вызов clear classes уменьшает производительность кода и является обычно ненужным. Для получения дополнительной информации смотрите раздел Tips.

Чтобы инстанцировать объекта с обновленным определением класса, не необходимо вызвать clear classes. Когда вы изменяете определение класса, MATLAB® обновляет его автоматически. Для получения дополнительной информации смотрите Автоматические обновления для Модифицированных классов.

clear classes выдает предупреждение и не очищает класс объектов, если какой-либо из тех объектов все еще существует после того, как рабочая область очищена. Например, объекты могут все еще существовать в персистентных переменных функций или окон фигуры. 

clear classes не очищает класс, если его файл заблокирован с помощью команды mlock. Никакое предупреждение не выдано в этом случае.

функции

     

Вызов clear functions уменьшает производительность кода и является обычно ненужным. Для получения дополнительной информации смотрите раздел Tips.

глобальная переменная

       

clear global удаляет все глобальные переменные в текущих и глобальных рабочих областях. Например, когда названо от функции, clear global удаляет все глобальные переменные в функциональных и глобальных рабочих областях, но не в базовом рабочем пространстве.

импорт

       

Вызовите clear import только от командной строки. Вызов clear import в функции или скрипте возвращает ошибку.

java

  

clear java выдает предупреждение и не удаляет определение класса Java, если какой-либо из его объектов Java существует вне рабочей области (например, в пользовательских данных или персистентных переменных в заблокированном файле кода).

Дайте команду clear java после изменения любых файлов на динамическом пути Java.

mEX

       

clear mex не очищает заблокированные MEX-функции или функции, которые используются в настоящее время.

переменные

        

Примечание

Если имя переменной является значением ItemType, то вызов clear, сопровождаемого тем именем, удаляет переменную с тем именем. clear не интерпретирует имя как ключевое слово в этом контексте. Например, если рабочая область содержит переменные a, all, b и ball, clear all удаляет переменный all только.

Советы

  • Вызывание clear all, clear classes и clear functions уменьшает производительность кода и является обычно ненужным.

    • Чтобы очистить одну или несколько определенных переменных от текущей рабочей области, используйте clear name1 ... nameN.

    • Чтобы очистить все переменные от текущей рабочей области, используйте clear или clearvars

    • Чтобы очистить все глобальные переменные, используйте clear global или clearvars –global.

    • Чтобы очистить конкретный класс, используйте clear myClass.

    • Чтобы очистить конкретную функцию или скрипт, используйте clear functionName.

    • Чтобы очистить все MEX-функции, используйте clear mex.

  • Функция clear может удалить переменные, которые вы задаете. Чтобы удалить все кроме нескольких заданных переменных, используйте clearvars вместо этого.

  • Если вы очищаете указатель фигуры или графического объекта, сам объект не удален. Используйте delete, чтобы удалить объекты. С другой стороны, удаление объекта не удаляет переменную (если таковые имеются) используемый для хранения ее указателя.

  • Функция clear не очищает модели Simulink®. Используйте bdclose вместо этого.

  • Функция clear не очищает персистентные переменные в локальных или вложенных функциях.

  • В системах UNIX® clear не влияет на объем памяти, выделенный процессу MATLAB.

Представлено до R2006a

Была ли эта тема полезной?