matlab - 如何声明变量免疫清除所有?

标签 matlab

在 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/

相关文章:

带色 block 的 Matlab 图像图例

file - Matlab中如何将数据保存到特定格式的文本文件中?

matlab - 如何在 MATLAB 中生成大小可变的随机值矩阵?

image - 索贝尔边缘检测——matlab

matlab - 交替 1 和 -1 元素的矩阵 - MATLAB

matlab - 如何通过约束 reshape 多个维度

matlab - 在 MATLAB 中获取连续输入

python - MATLAB 上的索引矩阵行和列,这段代码可以吗?

matlab - Symbolic Math Toolbox 中 symsum() 函数的问题

matlab - 如何对复数使用 Shuffle.c 索引模式