2016-06-30 4 views
3

В документации для команды save указано, что вы должны удалить цифры, если вы не хотите протащить файл *.mat. I save в файл *.mat периодически, и я повторно использую свой рисунок после выпуска clf. Я бы предпочел не удалять его только до save a *.mat файл, после чего открыть новую цифру. Есть ли способ сделать это?Сохраните рабочее пространство Matlab без сохранения или удаления цифр

+0

Сохраните переменные, которые вам нужно явно? Вы просто сохраняете все в своем рабочем пространстве? – Suever

+0

Сохранение всего в рабочей области. Спасибо за ваш код! Это исключало фигуру как причину большого размера файла '* .mat'. – user36800

ответ

4

Вы можете либо сохранить переменные, которые хотите явно при вызове save, если знаете все переменные, которые вы хотите сохранить.

save('output.mat', 'variable1', 'variable2', 'variable3'); 

С другой стороны, если вы хотите сохранить все переменные в рабочем пространстве, которое не графика ручки, что-то подобное может работать:

% Get a list of all variables 
allvars = whos; 

% Identify the variables that ARE NOT graphics handles. This uses a regular 
% expression on the class of each variable to check if it's a graphics object 
tosave = cellfun(@isempty, regexp({allvars.class}, '^matlab\.(ui|graphics)\.')); 

% Pass these variable names to save 
save('output.mat', allvars(tosave).name) 

Это не будет сохранять любые цифры (или графические объекты), а также позволит вам открывать их.

+0

Спасибо, Сьювер! При всем таком кодировании действительно должен быть стандартный вариант исключения графики при сохранении. К счастью, из-за использования вашего кода мой файл '* .mat' немного меньше, поэтому я могу отказаться от дополнительного кода, чтобы исключить графику. Но это хорошо, что вышло. – user36800

+0

@ user36800 В общем, это плохая идея, чтобы сохранить все, пока у вас есть переменные, которые являются графическими дескрипторами, потому что, когда вы снова загрузите этот файл, все графики будут воссозданы. То есть даже если у вас есть открытая фигура, нагрузка откроется * еще одна цифра – Suever

+0

Если вы хотите диагностировать, что такое большая вещь в файле * .mat, используйте вывод 'whos', чтобы проверить размер каждой переменной – Suever

Смежные вопросы