11

是否有一种未记录的方法可以在 matlab 中呈现变量“不可见”,使其仍然存在但不显示在工作区列表中?

4

3 回答 3

15

我能想到的唯一方法是实际使用函数,就像 MATLAB 定义piij. 例如:

function value = e
   value = 2.718;
end

您的工作区中不会e 列出任何命名的变量,但您可以像使用它一样使用它:

a = e.^2;

从技术上讲,它只是“不可见”,因为函数喜欢who并且whos不将其列为variable,但该函数仍必须存在于您的MATLAB 路径中,并且仍可以由任何其他脚本或函数调用。

于 2017-08-15T17:43:05.287 回答
5

您可以做的一件事是拥有全局变量。其中一个有趣的特性是,即使您清除了工作区,它们仍然存在于内存中,除非您专门清除全局变量。下面是一个例子。

global hidden_var
hidden_var = 1;
clear
global hidden_var
hidden_var

我仍然不完全确定您为什么甚至想要该功能,但这是您可以从工作区“隐藏”变量的一种方式。

于 2017-08-15T19:08:06.100 回答
0

我建议将结构中的变量分组作为一种解决方法。运行下面的代码只会显示mainVariable在您的工作区中。缺点是您必须输入整个内容才能访问变量,但您可以缩短名称。

    mainVariable.actualVariable1 = 1
    mainVariable.actualVariable2 = [2, 4]
    mainVariable.actualVariable3 = 'Hello World'

于 2017-08-15T18:09:07.000 回答