Main Content

whos

작업 공간의 변수를 크기 및 유형과 함께 나열

설명

예제

whos는 현재 활성화된 작업 공간에 있는 모든 변수의 이름, 크기, 유형을 사전순으로 나열합니다.

예제

whos -file filename은 지정한 MAT 파일에 있는 변수를 나열합니다.

참고

보안 고려 사항: whos -file 명령이 파일을 검사할 때 MAT 파일에 포함된 코드를 실행할 수도 있습니다. 신뢰할 수 없는 MAT 파일에 대해서는 whos -file을 호출하지 마십시오.

whos global은 전역 작업 공간에 있는 변수를 나열합니다.

예제

whos ___ var1 ... varN은 지정된 변수만 나열합니다. 이 구문은 위에 열거된 구문 중 하나의 인수에 사용할 수 있습니다.

예제

whos ___ -regexp expr1 ... exprN은 지정된 정규 표현식과 일치하는 변수만 나열합니다.

예제

S = whos(___)는 변수에 대한 정보를 구조체형 배열 S에 저장합니다.

예제

모두 축소

현재 작업 공간의 특정 변수에 대한 정보를 표시합니다. 예를 들어, 문자 a로 시작하는 이름을 가진 변수에 대한 정보를 나열합니다.

whos a*

이제 ion으로 끝나는 이름을 가진 변수에 대한 정보를 나열합니다.

whos -regexp ion$

샘플 MAT 파일인 durer.mat에 저장된 변수에 대한 모든 정보를 표시합니다.

whos -file durer.mat
  Name           Size               Bytes  Class     Attributes

  X            648x509            2638656  double              
  caption        2x28                 112  char                
  map          128x3                 3072  double              

durer.mat의 변수에 대한 정보를 구조체형 배열 S에 저장합니다.

S = whos('-file','durer.mat');

S의 내용을 표시합니다.

for k = 1:length(S)
   disp(['  ' S(k).name ...
         '  ' mat2str(S(k).size) ...
         '  ' S(k).class]);
end
  X  [648 509]  double
  caption  [2 28]  char
  map  [128 3]  double

다양한 특성을 가진 변수를 만든 다음 그 변수에 대한 정보를 표시합니다.

다음 명령문이 포함된 파일 show_attributes.m을 만듭니다.

function show_attributes
persistent p;
global g;
p = 1;
g = 2;
s = sparse(eye(5));
c = [4+5i 9-3i 7+6i];
whos

show_attributes를 호출합니다. MATLAB®이 show_attributes 끝에서 whos 명령을 실행할 때 각 변수와 그에 대응하는 특성을 나열합니다.

show_attributes
  Name      Size            Bytes  Class     Attributes

  c         1x3                48  double    complex   
  g         1x1                 8  double    global    
  p         1x1                 8  double    persistent
  s         5x5               128  double    sparse    

중첩 함수에서 일시 중지된 동안 현재 작업 공간의 모든 변수를 나열합니다.

다음 명령문이 포함된 파일 whos_demo.m을 만듭니다.

function whos_demo
date_time = datestr(now,'dd-mmm-yyyy');
 
date_time_array = strsplit(date_time,{'-',''});
get_date(date_time_array);

   function get_date(d)
      day = d{1};  %#ok<*NASGU>
      mon = d{2}; 
      year = d{3}; 
      keyboard
   end

end

whos_demo를 실행합니다. MATLAB®keyboard 명령이 있는 라인에서 일시 중지합니다.

whos_demo
K>> 

whos 함수를 호출합니다. MATLAB은 중첩 함수 get_date와, 이 중첩 함수를 포함하고 있는 모든 함수의 변수 이름을 함수 작업 공간별로 그룹화하여 표시합니다.

K>> whos
Name                 Size            Bytes  Class    Attributes

  ---- whos_demo/get_date ---------------------------------------
  d                    1x3               354  cell               
  day                  1x2                 4  char               
  mon                  1x3                 6  char               
  year                 1x4                 8  char               

  ---- whos_demo ------------------------------------------------
  date_time            1x11               22  char               
  date_time_array      1x3               354  cell               

입력 인수

모두 축소

표시할 변수로, 하나 이상의 문자형 벡터 또는 string형 스칼라로 지정됩니다. '*' 와일드카드를 사용하여 패턴을 일치시킬 수 있습니다. 예를 들어, whos A* S*는 작업 공간에서 A 또는 S로 시작하는 모든 변수 이름을 나열합니다.

표시할 변수를 정의하는 정규 표현식으로, 하나 이상의 문자형 벡터 또는 string형 스칼라로 지정됩니다. 예를 들어, whos -regexp ^Mon ^Tues는 작업 공간에서 Mon 또는 Tues로 시작하는 변수 이름만 나열합니다. 정규 표현식을 만드는 방법에 대한 자세한 내용은 정규 표현식 항목을 참조하십시오.

MAT 파일의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 파일 이름에는 전체 경로, 상대 경로, 부분 경로 중 하나가 포함될 수 있습니다. 예를 들어, whos -file myFile.mat는 MAT 파일 내의 myFile.mat라 명명된 모든 변수를 나열합니다. whos -file filename 명령은 파일 filename에 있는 MATLAB 객체의 크기는 반환하지 않습니다.

데이터형: char | string

출력 인수

모두 축소

변수 정보로, 각 변수의 스칼라 struct를 포함하는 중첩 구조체형 배열로 반환됩니다. 각 스칼라 struct에는 다음 필드가 포함되어 있습니다.

필드설명

name

변수의 이름입니다.

size

변수 배열의 차원입니다.

bytes

변수 배열에 할당된 바이트 수입니다.

whos는 각 변수가 작업 공간에서 차지하는 바이트 수를 반환하며, 이 바이트 수는 각 변수가 MAT 파일에서 차지하는 바이트 수와 같을 필요는 없습니다. 버전 7 이상의 MAT 파일은 압축되어 있으므로, 파일의 바이트 수는 작업 공간에서 필요한 바이트 수보다 일반적으로 더 작습니다.

whos는 핸들 객체가 소비하는 바이트 수는 보고하지 않습니다. 변수에 핸들 객체가 포함되어 있으면 whos 함수가 변수에 대해 표시하는 바이트 수가 예상 보다 작을 수 있습니다.

class

변수의 클래스입니다. 변수에 값이 없으면 클래스는 '(unassigned)'입니다.

global

전역 변수이면 true입니다.

sparse

희소 변수이면 true입니다.

complex

복소 변수이면 true입니다.

nesting

다음 필드를 가지는 구조체입니다.

  • function — 변수를 정의하는 중첩 함수 또는 바깥쪽 함수의 이름입니다.

  • level — 해당 함수의 중첩 수준입니다.

persistent

영속 변수이면 true입니다.

대안

  • 현재 폴더 브라우저의 세부 정보 패널을 사용하여 MAT 파일의 내용을 볼 수도 있습니다. MATLAB Online™에서 MAT 파일의 내용을 보려면 파일 브라우저에서 MAT 파일의 오른쪽에 있는 미리보기 버튼 을 클릭하여 내용을 미리 봅니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| | |