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

use*_*193 11 matlab undocumented-behavior

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

gno*_*ice 13

我能想到的唯一方法是实际使用的功能,以同样的方式作为MATLAB定义pi,ij.例如:

function value = e
   value = 2.718;
end
Run Code Online (Sandbox Code Playgroud)

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

a = e.^2;
Run Code Online (Sandbox Code Playgroud)

从技术上讲,它只是"看不见",因为函数喜欢who并且whos不将它列为变量,但该函数仍然必须存在于MATLAB路径中,并且仍可由任何其他脚本或函数调用.


小智 5

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

global hidden_var
hidden_var = 1;
clear
global hidden_var
hidden_var
Run Code Online (Sandbox Code Playgroud)

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