1

我有 toto.m + model.mdl 来自函数 toto.m ,我打开模型在关闭模型后在工作区中加载变量我想清除工作区中加载的变量有没有办法在不使用全部清除的情况下做到这一点?

function toto

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

当我运行该函数时,工作区没有被清除,我怎么能清除模型只使用的变量而不使用全部清除?

4

2 回答 2

2

您可以使用clear后跟变量列表,例如clear a b c. 但是,我不知道是否有一种方法可以清除给定脚本中声明的所有变量,尽管您始终可以使用函数,因此函数范围内的所有变量都会在函数结束时被清除。

于 2012-11-13T13:39:15.307 回答
2

如果要清除除运行脚本之前已经存在的变量之外的所有变量,可以临时存储这些已经存在的变量名称,然后使用以下命令运行 clear:

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 回答