| MATLAB Function Reference | ![]() |
表示
global X Y Z
詳細
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',...
グローバルコマンドの関数型はありません(たとえば、括弧やコーテションで変数名を定義に使いません)。
例題
つぎに、関数 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 | ![]() |