我有数千个变量存储在 .mat 文件中。我一次将它们加载到一个循环中。x
然后,我使用.将加载的变量分配给工作区变量eval
。然后,我清除加载的变量。问题是 matlabThe current workspace already has too many variables
在大约 60,000 次迭代后给出错误。但是,在检查工作区时,似乎只存在 5-10 个变量。
for i = 1:m
load(sprintf('feat_%s.mat', ids{i}), sprintf('feat_%s', ids{i}));
eval(sprintf('x = feat_%s;', ids{i}));
clear(sprintf('feat_%s', ids{i}));
end
我认为这与eval
命令有关。我猜这eval
是创建多个x
. 关于清除使用创建的变量的任何想法eval
。