Как скрыть переменную из рабочей области в matlab

Есть ли недокументированный способ визуализации переменной "invisible" в matlab, такой, что она все еще существует, но не отображается в списке рабочей области?

Ответ 1

Одна вещь, которую вы можете сделать, это глобальные переменные. Интересным свойством является то, что даже когда вы очищаете рабочую область, они все еще существуют в памяти, если только вы не очищаете глобальные переменные. Ниже приведен пример.

global hidden_var
hidden_var = 1;
clear
global hidden_var
hidden_var

Я все еще не совсем уверен, почему вы даже хотите эту функцию, но это способ, которым вы можете "спрятать" переменные из рабочей области.

Ответ 2

Единственный способ, которым я могу думать, - фактически использовать функцию, так же, как MATLAB определяет pi, i и j. Например:

function value = e
   value = 2.718;
end

В вашей рабочей области не будет переменной с именем e , но вы можете использовать ее так, как если бы были:

a = e.^2;

Технически это только "невидимое" в том смысле, что функции типа who и whos не перечисляют его как переменную, но функция все равно должна существовать на вашем путь MATLAB и все равно может быть вызван любой другой функцией script.

Ответ 3

Я бы предложил группировать переменные в структуре как обходной путь. Выполнение приведенного ниже кода будет отображаться только как mainVariable в вашей рабочей области. Недостаток заключается в том, что вам придется вводить все это для доступа к переменным, но вы можете сократить имена.

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