在 MatLab 中是否有声明变量不受清除所有影响的方法? 我想到的一种解决方案是保存变量并在需要时重新打开它们。 谁能想到更优雅的解决方案?
编辑:让我更全面地解释一下我的问题,这是我一开始就应该做的;对此感到抱歉。
我必须使用一些“黑盒”中间代码(其中一些可能是 mex 文件)运行一些例程。最好假设我不能详述这些代码。我可以改变其中的一些,但那会很昂贵;例如,我不知道 clear all 发生在哪里。我知道我可能要求太多,但你永远不知道。
最佳答案
考虑使用 clearvars
而不是保护变量使用 -except
标志。 The use of clear all
should be avoided无论如何,除非你真的需要清除ALL。
clearvars -except v1 v2 ...
clears all variables except for those specified following the -except
This answer/question可以给你进一步的灵感。
用法:
a = 1;
b = 2;
c = 3;
vars2keep = {'a','b'}
clearvars('-except',vars2keep{:})
或
clearvars -except a b
和 who
将返回:
Your variables are:
a b
关于matlab - 如何声明变量免疫清除所有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29423576/