最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
永続変数の定義
永続変数とグローバル変数は、MATLAB がいずれに対しても永久記録媒体を作成するという点で類似しています。永続変数がグローバル変数と異なるのは、永続変数を宣言している関数のみで前者が認識されるという点です。そのため、MATLAB コマンド ラインのコードや他の関数で永続変数を変更することはできません。
MATLAB は永続変数を空の行列 ([]
) へと初期化するため、通常は関数により永続変数が空であるかどうか確認され、空であれば初期化されます。
function myFun() persistent n if isempty(n) n = 0; end n = n+1; end
永続変数としての変数の宣言は、その変数に対する他の参照 (入力引数や出力引数を含む) より前に行わなければなりません。たとえば、次の関数における persistent
宣言は無効です。
function myfunA(x) persistent x end function myfunB x = 0; persistent x end
永続変数をクリアするには、その変数を宣言している関数の名前を指定して clear
を使用します。たとえば、clear myFun
のようになります。