.mat 파일에 수천 개의 변수 저장소가 있습니다. 한 번에 하나씩 루프에로드하고 있습니다. 그런 다음 작업 변수 변수 x
을로드 된 변수 eval
을 사용하여 할당합니다. 그런 다음로드 된 변수를 지 웁니다. 문제는 matlab에서 약 60,000 번의 반복 작업 후에 The current workspace already has too many variables
오류가 발생한다는 것입니다. 그러나 작업 공간을 점검 할 때 5-10 개의 변수 만있는 것으로 보입니다.eval을 사용하여 만든 변수를 지우는 방법은 무엇입니까?
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
을 사용하여 생성 된 변수를 지우는 것에 대한 아이디어.