ドキュメンテーション

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

clear

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

構文

  • clear
  • clear name1 ... nameN
  • clear -regexp expr1 ... exprN
  • clear ItemType

説明

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

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

name

  • 関数の場合、clear name は関数のすべての永続変数を再初期化します。

  • 現在実行中のスクリプトまたは関数の場合、クリアされません。

  • mlock によりロックされている関数の場合、メモリ内に残ります。

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

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

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

すべて折りたたむ

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

a = 1;
b = 2;
clear a
whos
Name      Size            Bytes  Class     Attributes

b         1x1                 8  double    

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

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

clear -regexp ^Mon ^Tue ^Wed;

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

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

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

入力引数

すべて折りたたむ

クリアする変数、スクリプト、関数または MEX 関数の名前を、文字列として指定します。

1 つの関数の異なるオーバーロード バージョンを区別するには、部分パスを使用します。たとえば、clear polynom/display は、polynom オブジェクト用の display メソッドのみを削除し、それ以外のバージョンはメモリに残します。

クリアする変数の名前と一致する正規表現を、文字列として指定します。

クリアするアイテムのタイプを、以下のいずれかの文字列として指定します。詳細は、以下のリンク文字列をクリックしてください。

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

all

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

classes

 

functions

     

global

       

import

       

java

  

mex

       

variables

       

以下は、アイテムのタイプのクリアに適用されます。

all:

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

    • 現在のワークスペースから 1 つ以上の特定の変数をクリアするには、clear name1 ... nameN を使用します。

    • 現在のワークスペースからすべての変数をクリアするには、clear または clearvars を使用します。 

    • すべてのグローバル変数をクリアするには、clear global または clearvars –global を使用します。

    • 特定の関数またはスクリプトをクリアするには、clear myFun を使用します。

classes:

  • clear classes の呼び出しはコードのパフォーマンスを低下させ、通常は不要です。クラス定義を変更すると、MATLAB® はそれを自動的に更新します。

    • 更新されたクラス定義を使用してオブジェクトをインスタンス化するために、クラスをクリアする必要はありません。

    • 特定のクラスをクリアするには、clear myClass を使用します。

    詳細は、「変更済みクラスの自動更新」を参照してください。

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

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

functions:

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

    • 更新が必要な個々の関数をクリアするには、clear functionName を使用します。

    • すべての MEX 関数をクリアするには、clear mex を使用します。

global:

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

  • 指定した名前のグローバル変数をクリアするには、clear global name1 ... nameN を使用します。

  • clear global —regexp expr1 ... exprN を使用して、列挙された正規表現のいずれかに一致するグローバル変数をすべてクリアします。

import:

  • clear import を呼び出しできるのは、コマンド プロンプトからのみです。関数で clear import を呼び出すと、エラーが返されます。

java:

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

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

mex:

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

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

詳細

すべて折りたたむ

ヒント

  • 関数 clear は、指定した変数を削除できます。指定した一部の変数を除いてすべてを削除するには、代わりに clearvars を使用します。

  • Figure やグラフィックス オブジェクトのハンドルをクリアできますが、オブジェクト自体は削除されません。オブジェクトを削除するには、delete を使用します。オブジェクトを削除しても、そのハンドルの格納に使用されている変数 (存在する場合) は削除されません。

  • 関数 clear は、Simulink® モデルをクリアしません。代わりに bdclose を使用してください。

  • UNIX® システムでは、関数 clear を実行しても MATLAB のプロセスに割り当てられるメモリ量は影響を受けません。

R2006a より前に導入

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