importdata skips the last few rows?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello all. I was using importdata in my code to bring in some matrices. I hadn't tested the code in quite some time, but I just upgraded from r2011a to r2012a and then ran it. Apparently importdata is now misbehaving. Whenever I try to do
>> data = importdata('file.txt')
where file.txt is a 360x720 ASCII file (generated from Matlab a while back using
>> save('file.txt','variable','-ASCII')
I get a variable that is 348x720:
>> size(data)
ans =
348 720
This happens with other 360x720 ASCII files as well, although for some of them I only get 347 rows. What do you think is going on? Thanks in advance!
3 Kommentare
Akzeptierte Antwort
Geoff
am 9 Mai 2012
That's odd... Confirmed in my own 2012a.
It appears to be trimming all the entirely NaN rows from the end of your data.
I replaced line 348 with line 349, and confirmed the result is 347 rows long. Then I set the first element in line 360 to a non-nan value, and the result was 360 rows long.
I think this is stupid behaviour to have in a function, but nevermind.
Given that the files were created with save, you should do this instead:
data = load('file.txt', '-ASCII');
4 Kommentare
Geoff
am 9 Mai 2012
@Jan : Oh, I had a look and found this:
if ~isempty(numericData)
numericData = TrimTrailing(@(x)(isnan(x)), numericData);
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Data Import and Export finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!