MATLAB Function Reference    
global

グローバル変数の定義

表示

詳細

global X Y Z は、スコープ内にグローバルとして、X, Y, and Z を定義します。

通常、M-ファイルとして定義する各 MATLAB 関数は、それ自身のローカル変数をもち、他の関数の変数と区別したり、基本のワークスペースの中の変数や関数でないスクリプトと区別します。しかし、いくつかの関数を、基本のワークスペースでも可能、それらを、特別な名前でグローバルとしてすべて宣言する場合、その変数の一つのコピーをすべて共有することになります。そのある関数の中で、変数への割り当ては、それをグローバルとして、宣言するすべての関数の中で利用できます。

グローバル変数が、ステートメント global を起動したtpきに存在していない場合、空行列として初期化されます。

カレントのワークスペースの中に既に存在している変数を同じ名前で、グローバルとする場合、MATLAB は、ワーニングを発し、その変数値をグローバルと一致するように変更します。

注意

clear global variable を使って、グローバルワークスペースからグローバル変数を削除します。clear variable を使って、グローバル値に影響を与えないで、カレントワークスペースからグローバルリンクを削除します。

コールバックの中のグローバルを使用するには、グローバルを宣言して、それを使います。そして、ワークスペースからグローバルリンクを削除します。これは、それを参照した後で、グローバルを宣言することを避けます。たとえば、つぎのようにします。

uicontrol('style','pushbutton','CallBack',...

'global MY_GLOBAL,disp(MY_GLOBAL),MY_GLOBAL = MY_GLOBAL+1,clear MY_GLOBAL',...

'string','count')

グローバルコマンドの関数型はありません(たとえば、括弧やコーテションで変数名を定義に使いません)。

例題

つぎに、関数 tictocを使ったコードを示します。つぎの関数は、ストップッチのようなものです。グローバル変数TICTOC は、2つの関数で共有されていますが、ベースワークスペースの中、または、他の関数の中では、設定したものでも宣言していない場合、見えます。

参考

clear, isglobal, who


 ginput gmres