1

関数 toto.m から toto.m + model.mdl を実行しました。モデルを閉じた後にワークスペースに変数をロードするモデルを開きます ワークスペースにロードされた変数をクリアしたい すべてクリアを使用せずにそれを行う方法はありますか?

function toto

model = 'model1';
open_system(model1);
close_system(model1);
end

ワークスペースがクリアされない関数を実行すると、 clear all を使用せずにモデルでのみ使用される変数をクリアするにはどうすればよいですか?

4

2 に答える 2

2

clearたとえば、変数のリストを続けて使用できますclear a b c。ただし、特定のスクリプトで宣言されたすべての変数をクリアするメソッドがあるかどうかはわかりませんが、いつでも関数を使用できるため、関数のスコープ内のすべての変数は終了時にクリアされます。

于 2012-11-13T13:39:15.307 に答える
2

スクリプトを実行する前に既に存在していたものを除くすべての変数をクリアしたい場合は、これらの既存の変数名を一時的に保存し、後で以下を使用してクリアを実行できます。

already_existing_vars = who;

% your actual script ...
% ...

% clear variables created in this script
vars_to_clear = setdiff(who,already_existing_vars);
clear(vars_to_clear{:},'vars_to_clear')
于 2012-11-13T13:57:40.483 に答える