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 を呼び出します。show_attributes の最後で MATLAB® は 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               

入力引数

すべて折りたたむ

表示する変数。1 つ以上の文字ベクトルまたは string スカラーとして指定します。パターンを一致させるには、ワイルドカード '*' を使用します。たとえば whos A* S* は、ワークスペースにあり A または S で始まる変数名をすべて一覧表示します。

表示する変数を定義する正規表現。1 つ以上の文字ベクトルまたは string スカラーとして指定します。たとえば whos -regexp ^Mon ^Tues は、ワークスペースにあり Mon または Tues で始まる変数名のみを一覧表示します。正規表現の作成の詳細については、正規表現を参照してください。

MAT ファイルの名前。文字ベクトルまたは string スカラーとして指定します。ファイル名には絶対パス、相対パスまたは部分パスを含めることができます。たとえば whos -file myFile.mat は、myFile.mat という名前の MAT ファイル内のすべての変数を一覧表示します。whos -file filename コマンドは、ファイル filename 内の MATLAB オブジェクトのサイズを返しません。

データ型: char | string

出力引数

すべて折りたたむ

変数の情報。各変数のスカラー struct を含む入れ子にされた構造体配列として返されます。各スカラー struct には、以下のフィールドがあります。

フィールド説明

name

変数名。

size

変数配列の次元。

bytes

変数配列に割り当てるバイト数。

whos は、ワークスペースで各変数が占めるバイト数を返します。これは、MAT ファイルで各変数が占めるバイト数と必ずしも等しいわけではありません。Version 7 以降の MAT ファイルは圧縮されるので、ワークスペースで必要とされるバイト数は通常、ファイル内のバイト数より大きくなります。

whos は、ハンドル オブジェクトが消費するバイト数をレポートしません。変数にハンドル オブジェクトが含まれる場合、関数 whos がその変数について表示するバイト数は予測より小さいことがあります。

class

変数のクラス。変数に値がない場合、クラスは '(unassigned)' です。

global

変数が global の場合は true

sparse

変数がスパースの場合は true

complex

変数が複素数の場合は true

nesting

以下のフィールドをもつ構造体:

  • function — 変数を定義する入れ子内または入れ子外の関数名。

  • level — 関数の入れ子レベル。

persistent

変数が永続変数の場合は true

代替方法

  • MAT ファイルのコンテンツは、現在のフォルダー ブラウザーの [詳細] パネルを使用して表示することもできます。MATLAB Online™ では、MAT ファイルの内容を表示するには、ファイル ブラウザーで MAT ファイルの右にある [プレビュー] ボタン をクリックしてプレビューします。

拡張機能

バージョン履歴

R2006a より前に導入