importdata skips the last few rows?
4 ビュー (過去 30 日間)
古いコメントを表示
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!
採用された回答
Geoff
2012 年 5 月 9 日
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 件のコメント
Geoff
2012 年 5 月 9 日
@Jan : Oh, I had a look and found this:
if ~isempty(numericData)
numericData = TrimTrailing(@(x)(isnan(x)), numericData);
end
その他の回答 (0 件)
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!