Main Content

clear

작업 공간에서 항목을 제거하여 시스템 메모리 늘리기

설명

clear는 현재 작업 공간에서 모든 변수를 제거하여 시스템 메모리에서 해제합니다.

예제

clear name1 ... nameN은 변수, 스크립트, 함수, MEX 함수인 name1 ... nameN을 메모리에서 제거합니다.

예제

clear -regexp expr1 ... exprN은 나열된 정규 표현식과 일치하는 변수를 모두 제거합니다. 이 옵션은 변수만 제거합니다.

예제

clear ItemTypeall, functions, classes와 같은 ItemType이 나타내는 항목의 유형을 제거합니다.

예제

모두 축소

변수 ab를 정의한 다음 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 함수의 이름으로, 하나 이상의 문자형 벡터 또는 string형 스칼라로 지정됩니다.

name이 무엇인지에 따라 다음과 같이 실행됩니다.

  • 함수인 경우 clear는 이 함수의 영속 변수를 다시 초기화합니다. 로컬 함수나 중첩 함수는 지정할 수 없습니다.

  • 현재 실행 중인 스크립트나 함수이거나 mlock에 의해 잠긴 함수인 경우 clear는 이 스크립트나 함수를 제거하지 않습니다.

  • 전역 변수인 경우 clear는 이 변수를 현재 작업 공간에서 제거하지만, 이 변수는 전역 작업 공간에 그대로 남게 됩니다. 모든 작업 공간에서 전역 변수를 제거하려면 clear global variable을 사용하십시오.

부분 경로를 사용하여 함수의 오버로드된 여러 버전을 구별합니다.

지울 변수의 이름과 일치하는 정규 표현식으로, 하나 이상의 문자형 벡터 또는 string형 스칼라로 지정됩니다.

지울 항목의 유형으로, 다음 중 하나로 지정됩니다.

ItemType의 값지워질 항목참고
범위의 변수스크립트와 함수클래스 정의영속 변수(Persistent Variable)MEX 함수전역 변수가져오기 목록동적 경로의 Java 클래스

all

 명령 프롬프트에서만 

clear all을 호출하면 코드 성능이 저하되므로 이 명령은 꼭 필요한 경우에만 사용해야 합니다. 자세한 내용은 섹션을 참조하십시오.

classes

 

clear classes를 호출하면 코드 성능이 저하되므로 이 명령은 꼭 필요한 경우에만 사용해야 합니다. 자세한 내용은 섹션을 참조하십시오.

업데이트된 클래스 정의로 객체를 인스턴스화하기 위해 반드시 clear classes를 호출해야 하는 것은 아닙니다. 클래스 정의를 수정하면 MATLAB®은 클래스를 자동으로 업데이트합니다. 자세한 내용은 Automatic Updates for Modified Classes 항목을 참조하십시오.

clear classes는 경고를 발생시키지만, 작업 공간을 지운 후에 객체가 여전히 있는 경우 해당 객체의 클래스를 지우지 않습니다. 예를 들어, 객체는 Figure 창 또는 함수의 영속 변수에 여전히 존재할 수 있습니다.

clear classesmlock 명령으로 파일을 잠근 경우 클래스를 지우지 않습니다. 이 경우 경고가 발생하지 않습니다.

functions

     

clear functions를 호출하면 코드 성능이 저하되므로 이 명령은 꼭 필요한 경우에만 사용해야 합니다. 자세한 내용은 섹션을 참조하십시오.

global

       

clear global은 현재 작업 공간과 전역 작업 공간에서 모든 전역 변수를 제거합니다. 예를 들어, 함수에서 호출한 경우 clear global은 함수와 전역 작업 공간의 모든 전역 변수를 제거하지만 기본 작업 공간의 전역 변수는 제거하지 않습니다.

import

       

명령 프롬프트에서 clear import를 호출합니다. 함수나 스크립트에서 clear import를 호출하면 오류가 반환됩니다.

java

  

clear java는 경고를 발생시키고, Java 객체가 작업 공간의 외부에 있는 경우(예: 잠긴 코드 파일의 사용자 데이터 변수 또는 영속 변수) Java 클래스 정의를 제거하지 않습니다.

동적 Java 경로의 파일을 수정한 후에 clear 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를 대신 사용하십시오.

  • Figure 또는 그래픽스 객체의 핸들을 지울 경우 객체 그 자체는 제거되지 않습니다. delete를 사용하여 객체를 제거합니다. 반면, 객체를 삭제하더라도 핸들을 저장하는 데 사용된 변수(있는 경우)는 제거되지 않습니다.

  • clear 함수는 Simulink® 모델을 지우지 않습니다. bdclose를 대신 사용하십시오.

  • clear 함수는 로컬 함수나 중첩 함수에서 영속 변수를 지우지 않습니다.

  • UNIX® 시스템에서 clear는 MATLAB 프로세스에 할당된 메모리의 양에 영향을 미치지 않습니다.

확장 기능

버전 내역

R2006a 이전에 개발됨