MATLAB Function Reference | ![]() ![]() |
表示
global X Y Z
詳細
global X Y Z
は、スコープ内にグローバルとして、X
, Y
, and Z
を定義します。
通常、M-ファイルとして定義する各 MATLAB 関数は、それ自身のローカル変数をもち、他の関数の変数と区別したり、基本のワークスペースの中の変数や関数でないスクリプトと区別します。しかし、いくつかの関数を、基本のワークスペースでも可能、それらを、特別な名前でグローバルとしてすべて宣言する場合、その変数の一つのコピーをすべて共有することになります。そのある関数の中で、変数への割り当ては、それをグローバルとして、宣言するすべての関数の中で利用できます。
グローバル変数が、ステートメント global
を起動したtpきに存在していない場合、空行列として初期化されます。
カレントのワークスペースの中に既に存在している変数を同じ名前で、グローバルとする場合、MATLAB は、ワーニングを発し、その変数値をグローバルと一致するように変更します。
注意
clear globa
l variable
を使って、グローバルワークスペースからグローバル変数を削除します。clear
variable
を使って、グローバル値に影響を与えないで、カレントワークスペースからグローバルリンクを削除します。
コールバックの中のグローバルを使用するには、グローバルを宣言して、それを使います。そして、ワークスペースからグローバルリンクを削除します。これは、それを参照した後で、グローバルを宣言することを避けます。たとえば、つぎのようにします。
uicontrol('style','pushbutton','CallBack',...
'global MY_GLOBAL,disp(MY_GLOBAL),MY_GLOBAL = MY_GLOBAL+1,clear MY_GLOBAL',...
グローバルコマンドの関数型はありません(たとえば、括弧やコーテションで変数名を定義に使いません)。
例題
つぎに、関数 tic
と toc
を使ったコードを示します。つぎの関数は、ストップッチのようなものです。グローバル変数TICTOC
は、2つの関数で共有されていますが、ベースワークスペースの中、または、他の関数の中では、設定したものでも宣言していない場合、見えます。
function tic % TIC Start a stopwatch timer. % TIC; any stuff; TOC % prints the time required. % 参考: TOC, CLOCK. global TICTOC TICTOC = clock; function t = toc % TOC Read the stopwatch timer. % TOC prints the elapsed time since TIC was used. % t = TOC; saves elapsed time in t, does not print. % See also: TIC, ETIME. global TICTOC if nargout < 1 elapsed_time = etime(clock,TICTOC) else t = etime(clock,TICTOC); end
参考
![]() | ginput | gmres | ![]() |