Strange error importing matrices in a loop
Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Ältere Kommentare anzeigen
Hello,
im importing 100 matrices in a loop and performing some calculations on every single one matrix before exporting and concatenating end results. For some reason, matrix #94 is not the expected 900x6 size but just the single value '48000'. Do you know what causes this? The same script (see partially below) has been fully working in the past, but not anymore. I have tried renaming and/or remaking that particular matrix from scratch, without success. If I isolate the matrix and try to import it outside a loop, that works... so it seems to only be failing in the loop.
Thanks in advance!
for i=1:100 % loop over files
if i < 10 % identify filenames per iteration
g=num2str(i);
num = strcat({'00'},{g});
stgnum=char(num);
elseif i < 100
g=num2str(i);
num = strcat({'0'},{g});
stgnum=char(num);
else
g=num2str(i);
num = strcat({g});
stgnum=char(num);
end
tracks_file = ['AA','#',stgnum,'.mat'];
dir_tracks = ['F:\any directory',tracks_file];
% data is imported below, one sequence each iteration of the main loop
A = importdata(dir_tracks);
end
3 Kommentare
Geoff Hayes
am 1 Nov. 2015
Jasper - what happens if you use the MATLAB debugger and put a breakpoint in the code so that it pauses on the 94th iteration of the for loop? What is assigned to dir_tracks and does it make sense?
Jasper
am 2 Nov. 2015
Stephen23
am 2 Nov. 2015
Antworten (1)
Walter Roberson
am 2 Nov. 2015
Bearbeitet: Stephen23
am 2 Nov. 2015
Given that set of conditions, my suspicion would be that importdata() is leaking open files -- that is, failing to close files after it opens them. As an experiment, right after your importdata() line, add
close('all');
Diese Frage ist geschlossen.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!