例如,当使用 parfor
我发现的一个建议是,将我想要的变量设置为 "透明违反错误"。[]
而不是 clear -except var1, var2
. 但我想一次把它们全部设置好,因为我只对保留几个感兴趣,其余的应该是清空设置成 []
.
有什么办法吗?
看来你是想 "empty"
的一些变量,其余的变量保持原样。
现在,你问到了如何在函数中引用这些变量。workspace
对此,我想到了一件事,那就是用一个 cell array with the cells as those variable names
.接下来,任务是清空这些变量,对此,我唯一印象深刻的是使用了? eval
该问题的评论中也有建议。我的理解是 eval
是不允许的,但我看不出有什么其他的办法,我很想看到别人提出一些其他的解决方案来逃避这个问题。接下来,为了使 eval
与所有选择的变量一起工作,我到了 cellfun
.
一切都必须得到明确的代码 -
%// Variables for demo
var1 = 2;
var2 = 22;
a3 = 5;
a4 = [2 7];
a5 = [7 2.3 56];
c1 = {'var1','var2'} %// cell array of variable names to be "emptied"
%// Choose the variable names that are actually present in the workspace
allvars = who;
c1 = allvars(ismember(allvars,c1))
%// Empty the choosen variables
cellfun(@eval,strcat(c1,'=[];'))