如何在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" 在某种意义上,像 who
和 whos
这样的函数不会将其列为 变量 ,但是 函数 仍然必须存在于您的 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" 变量的一种方式。
是否有一种未记录的方法可以在 matlab 中呈现变量 'invisible',使其仍然存在但不显示在工作区列表中?
我能想到的唯一方法就是实际使用函数,就像 MATLAB 定义的那样 pi
, i
, and j
。例如:
function value = e
value = 2.718;
end
不会有名为 e
listed in your workspace 的变量,但您可以像使用它一样使用它:
a = e.^2;
从技术上讲,它只是 "invisible" 在某种意义上,像 who
和 whos
这样的函数不会将其列为 变量 ,但是 函数 仍然必须存在于您的 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" 变量的一种方式。