Самый простой способ, который позволил мне получить ОЗУ, это просто переопределить его:
global A
A=3;
whos A
Name Size Bytes Class Attributes
A 1x1 8 double global
B=A;
whos B
Name Size Bytes Class Attributes
B 1x1 8 double % Note: not global
clear -global
A=B;
clear B;
whos A
Name Size Bytes Class Attributes
A 1x1 8 double
Если вам нужна эта переменная чаще, просто используйте ее, чтобы удалить флаг global
и сохранить ее снова.
Использование save
и load
на R2016b:
global exportmat
exportmat = cell(889,12);
filename = 'test.mat';
save(filename)
clear exportmat
load('test.mat')
% whos exportmat
exportmat2=exportmat;
whos
Name Size Bytes Class Attributes
exportmat 889x12 85344 cell global
exportmat2 889x12 85344 cell
filename 1x8 16 char
Если R2015a не работает для ячеек (я не могу проверить это, поскольку у меня нет этой версии), вы можете переназначить содержимое каждой ячейки, которое должно работать, если они содержат двойные значения:
B = cell(size(A));
for ii = 1:size(B,1)
for jj = 1:size(B,2)
tmp = A{ii,jj};
B{ii,jj} = tmp;
end
end