ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

whos

ワークスペースの変数をサイズおよびタイプと共に一覧表示する

構文

  • whos
  • whos(variables)
  • whos(location)
  • whos(variables,location)
  • S = whos(___)

説明

関数 whos は、現在アクティブなワークスペース内のすべての変数をそのサイズと型の情報と共にアルファベット順で表示します。

whos(variables) は、指定された変数のみを表示します。

whos(location) は、指定された場所にある変数を表示します。

whos(variables,location) は、指定された場所の指定された変数を表示します。入力 locationvariables はどのような順序にしてもかまいません。

S = whos(___) は、変数の情報を構造体配列 S に格納します。入力引数を使用しないか、前の構文の入力引数のいずれかを使用します。

すべて展開する

ワークスペース変数に関する情報の表示

名前が文字 a で始まる現在のワークスペース内の変数に関する情報を表示します。

whos('a*')

MAT ファイルに格納されている変数の表示

MAT ファイル durer.mat に格納されているすべての変数を表示します。

whos('-file','durer.mat')
  Name           Size               Bytes  Class     Attributes

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

名前が ion で終わる MAT ファイル内の変数のみを表示します。

whos('-file','durer.mat','-regexp','ion$')
  Name         Size            Bytes  Class    Attributes

  caption      2x28              112  char               

変数の情報を構造体配列に格納

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

変数の属性情報を表示する関数の作成

エディターで、persistent、global、sparse および complex のさまざまな属性をもつ変数を作成する関数を作成し、それらの情報を表示します。

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
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 の呼び出し

入れ子にされた関数 get_date を含む関数 whos_demo を作成します。入れ子にされた関数内で whos を呼び出します。

function whos_demo
date_time = datestr(now);
 
C = strsplit(date_time,{'-',''});
get_date(C);

   function get_date(d)
      day = d{1};
      mon = d{2};
      year = d{3};
      whos
   end

end

関数 whos_demo を実行すると、whos は入れ子にされた関数 get_date の変数と、その関数を含んでいるすべての関数の変数を、関数ワークスペース別に分類して表示します。これは、whos を関数コードから呼び出すか、MATLAB® デバッガーから呼び出すかにかかわらず適用されます。

whos_demo
  Name           Size            Bytes  Class           Attributes

  ---- get_date --------------------------------------------------
  d              1x3               372  cell                      
  day            1x2                 4  char                      
  mon            1x3                 6  char                      
  year           1x13               26  char                      

  ---- whos_demo -------------------------------------------------
  C              1x3               372  cell                      
  ans            0x0                 0  (unassigned)              
  date_time      1x20               40  char                      

無名関数内で呼び出された場合は、無名関数内の変数もグループで表示され、関数のシグネチャがタイトルになります。

入力引数

すべて展開する

variables - 表示する変数文字列

表示する変数。以下のいずれかの形式で 1 つまたは複数の文字列として指定します。

入力 Variables の形式変数名
var1 ... varN名前付き変数を一覧表示します。個別の文字列として指定します。
パターンを一致させるには、ワイルドカード '*' を使用します。たとえば whos('A*') は、ワークスペース内の A で始まるすべての変数を一覧表示します。
'-regexp',expr1 ... exprN「正規表現」に一致する変数のみを一覧表示します。文字列として指定します。たとえば whos('-regexp','^Mon','^Tues') は、ワークスペース内の Mon または Tuesで始まる変数のみを一覧表示します。

location - 変数の場所'global' | 'file',filename

変数の場所。次のいずれかの文字列として指定します。

location の値変数の場所
'global'グローバル ワークスペース。
'-file',filename

MAT ファイル。filename 入力には絶対パス、相対パス、または部分パスを含めることができます。たとえば whos('file','myFile.mat') は、myFile.mat という名前の MAT ファイル内のすべての変数を一覧表示します。

whos('-file',filename) は、ファイル filename 内の MATLAB オブジェクトのサイズを返しません。

出力引数

すべて展開する

S - 変数の情報入れ子にされた構造体配列

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

フィールド説明

name

変数名。

size

変数配列の次元。

bytes

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

class

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

global

変数が global の場合は true、そうでない場合は false が設定されます。

sparse

変数がスパースの場合は true、そうでない場合は false が設定されます。

complex

変数が複素数の場合は true、そうでない場合は false が設定されます。

nesting

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

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

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

persistent

変数が persistent の場合は true、そうでない場合は false が設定されます。

詳細

すべて展開する

ヒント

  • MAT ファイルのコンテンツは、現在のフォルダー ブラウザーの [詳細] パネルを使用して表示することもできます。

アルゴリズム

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

参考

| | |

この情報は役に立ちましたか?