Возможно ли иметь переменную рабочего пространства, которая сохраняется во время вызова для очистки?

Предположим, что я запускаю script X.m и создает кучу переменных, и я хочу сохранить переменную с именем Z, поэтому пишу myVar = Z.

Затем введите clear в приглашении и запустите Y.m.

Есть ли способ сделать это так, чтобы myVar не исчезал со всеми другими переменными при вызове clear?

Ответ 1

Вы можете использовать clearvars, чтобы очистить все переменные, кроме определенных из рабочей области. Из документации clearvars:

clearvars -except v1 v2... очищает все переменные, кроме тех указанный после флага -except. Используйте символ подстановки '' в имени переменной, чтобы исключить переменные, которые соответствуют шаблону из очищается. clearvars -except X очищает все переменные в текущее рабочее пространство, за исключением тех, которые начинаются с X, например. Используйте clearvars -except, чтобы сохранить нужные вам переменные и удалить все другие.

Итак, вам нужно ввести

clearvars -except myVars

вместо clear.

Ответ 2

Здесь Keep в обмене файлами MATLAB, который позволяет вам очистить все, кроме определенных переменных, которые вы хотите держать.