Main Content

clear

ワークスペースからアイテムを削除し、システムメモリを解放

説明

関数 clear は、現在のワークスペースからすべての変数を削除して、システム メモリから解放します。

clear name1 ... nameN は、name1 ... nameN で表される変数、スクリプト、関数または MEX 関数をメモリから削除します。

clear -regexp expr1 ... exprN は、列挙された正規表現のいずれかに一致する変数をすべて削除します。このオプションは変数のみを削除します。

clear ItemType は、ItemType が示す allfunctionsclasses などの型のアイテムを削除します。

すべて折りたたむ

2 つの変数 ab を定義してから、a をクリアします。

a = 1;
b = 2;
clear a

変数 b のみがワークスペース内に残ります。

whos
  Name      Size            Bytes  Class     Attributes

  b         1x1                 8  double              

正規表現を使用して、名前が MonTue または Wed で始まる変数を削除します。

clear -regexp ^Mon ^Tue ^Wed;

クリアする変数名を含む cell 配列 vars を作成します。次に、これらの変数をクリアします。

vars = {'v1','v2','time'};
clear(vars{:})

関数がロックされているか現在実行中の場合、その関数はメモリから削除されません。

clear functions

入力引数

すべて折りたたむ

クリアする変数、スクリプト、関数または MEX 関数の名前。1 つ以上の文字ベクトルまたは string スカラーとして指定します。

name の実体に応じて、以下のようになります。

  • 関数の場合、clear によって関数のすべての永続変数が再初期化されます。ローカル関数または入れ子関数の指定はサポートされていません。

  • 現在実行中のスクリプトまたは関数、あるいは mlock でロックされた関数である場合、clear によって削除されることはありません。

  • グローバル変数の場合、clear によって現在のワークスペースから削除されますが、グローバル ワークスペースには残ります。グローバル変数をすべてのワークスペースから削除するには、clear global variable を使用します。

1 つの関数の異なるオーバーロード バージョンを区別するには、部分パスを使用します。

クリアする変数の名前と一致する正規表現。1 つ以上の文字ベクトルまたは string スカラーとして指定します。

クリアするアイテムのタイプ。以下のいずれかとして指定します。

ItemType の値クリアされるアイテムメモ
スコープ内の変数スクリプトと関数クラス定義永続変数MEX 関数グローバル変数リストのインポート動的パスの Java クラス

all

 コマンド プロンプトからのみ 

clear all の呼び出しはコードのパフォーマンスを低下させ、通常は不要です。詳細については、ヒントの節を参照してください。

classes

 

clear classes の呼び出しはコードのパフォーマンスを低下させ、通常は不要です。詳細については、ヒントの節を参照してください。

更新されたクラス定義を使用してオブジェクトをインスタンス化するために、clear classes を呼び出す必要はありません。クラス定義を変更すると、MATLAB® によって自動的に更新されます。詳細については、変更済みクラスの自動更新を参照してください。

clear classes は、ワークスペースがクリアされた後もオブジェクトのいずれかが存在する場合、警告を発行し、オブジェクトのクラスをクリアしません。たとえば、オブジェクトは、関数の永続変数または Figure ウィンドウにも存在する場合があります。

clear classes は、クラスのファイルが mlock コマンドでロックされている場合、クラスをクリアしません。この場合、警告は発行されません。

functions

     

clear functions の呼び出しはコードのパフォーマンスを低下させ、通常は不要です。詳細については、ヒントの節を参照してください。

global

       

clear global は、現在のワークスペースとグローバル ワークスペースからすべてのグローバル変数を削除します。たとえば、clear global を関数から呼び出すと、その関数およびグローバル ワークスペースからすべてのグローバル変数が削除されますが、ベース ワークスペースからは削除されません。

import

       

clear import を呼び出しできるのは、コマンド プロンプトからのみです。関数またはスクリプト内での clear import の呼び出しは、エラーを返します。

java

  

Java オブジェクトがワークスペースの外部 (ロックされたコード ファイルにあるユーザー データ内、永続変数内など) に存在する場合、clear java は警告を発行し、Java クラス定義を削除しません。

Java 動的パス上のファイルを変更してから、コマンド clear java を発行します。

mex

       

clear mex は、ロックされている MEX 関数または現在使用されている関数をクリアしません。

variables

        

メモ

変数の名前が ItemType の値である場合は、その名前が後に付いた clear を呼び出すと、その名前をもつ変数が削除されます。このとき、clear はその名前をキーワードとして解釈しません。たとえば、ワークスペースに変数 aallbball がある場合、関数 clear all によって削除されるのは変数 all だけです。

ヒント

  • clear allclear classes および clear functions の呼び出しはコードのパフォーマンスを低下させ、通常は不要です。

    • 現在のワークスペースから 1 つ以上の特定の変数をクリアするには、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 より前に導入