clear

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

Описание

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 является:

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

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

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

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

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

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

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

all

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

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

classes

 

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

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

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

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

functions

     

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

global

       

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

import

       

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

java

  

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

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

mex

       

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

variables

        

Примечание

Если имя переменной является значением 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