我試圖用dlmread
讀取大文件,但它只是將整個文件視爲一個長列。該文件是用Java編寫下面的代碼:dlmread爲大文本文件返回單列
public void writeToFile(double[] arr) throws IOException{
FileWriter write = new FileWriter(path, append);
PrintWriter print_line = new PrintWriter(write);
for(int i=0; i<arr.length; i++){
print_line.printf("%f\t", arr[i]);
}
print_line.printf("\n");
print_line.close();
}
和我的MATLAB腳本就像在文件中寫道:[DATA] = dlmread('probability_cyclelength.dat');
捐贈:
>>size(DATA)
ans =
2000000 1
總共有200萬個數據,有高達60000每行(但不是每行中的相同數字 - 無關緊要)
當我用較小的數據集(100000數據)嘗試它時,它工作得非常好。我不知道問題出在Java還是MATLAB,所以我真的需要一些幫助,謝謝!
Hmmmm,你能發佈的文件?據我所知,dlmread應該沒有這種格式的問題。 您可以嘗試使用不同的導入功能。我對「importdata」有很多好運。 – lawinslow 2012-08-17 18:23:51
我遇到完全相同的問題。我有2個製表符分隔的文件:一個有4行和800列,另一個有4行和160000列,第一個加載爲4x800矩陣,第二個加載爲640000x1矩陣。如果您事先不知道將要輸出的兩種格式中的哪一種格式,那麼當您嘗試將其重新排列成正確的順序時,會出現各種問題。 – FinalArt2005 2012-08-21 08:49:35