2013-03-22 1 views
10

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

Затем я набираю clear и запускаю Y.m.

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

ответ

17

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

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

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

clearvars -except myVars 

вместо clear.

1

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