exponenta event banner

ясно

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

Описание

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