如何在matlab中隐藏工作区中的变量

How to hide a variable from workspace in matlab

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

我能想到的唯一方法就是实际使用函数,就像 MATLAB 定义的那样 pi, i, and j。例如:

function value = e
   value = 2.718;
end

不会有名为 e listed in your workspace 的变量,但您可以像使用它一样使用它:

a = e.^2;

从技术上讲,它只是 "invisible" 在某种意义上,像 whowhos 这样的函数不会将其列为 变量 ,但是 函数 仍然必须存在于您的 MATLAB path 上并且仍然可以被任何其他脚本或函数调用。

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


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

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

global hidden_var
hidden_var = 1;
clear
global hidden_var
hidden_var

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