0
我想讀取每行5個條目的文件,其中兩個是浮動的,其他是整數。但是,matlab的fscanf函數只能讀取兩行,我猜這是一個內存問題(對於5k行數據?)。讀取matlab中的格式化輸入
你知道如何解決這個問題嗎?
我想讀取每行5個條目的文件,其中兩個是浮動的,其他是整數。但是,matlab的fscanf函數只能讀取兩行,我猜這是一個內存問題(對於5k行數據?)。讀取matlab中的格式化輸入
你知道如何解決這個問題嗎?
我懷疑它是一個內存問題。 也許你在輸入文件中有一些意想不到的字符? 您可以重現以下內容嗎?
3.4E-5 4.2E14 1475 381 998877
3.4E-5 4.2E14 1475 381 998877
3.4E-5 4.2E14 1475 381 998877
3.4E-5 4.2E14 1475 381 998877
3.4E-5 4.2E14 1475 381 998877
filename='input.txt';
fid = fopen(filename);
A = fscanf(fid, '%f %f %d %d %d', [5 inf])';
fclose(fid);
>> A(:,1)
ans =
1.0e-004 *
0.3400
0.3400
0.3400
0.3400
0.3400
>> A(:,5)
ans =
998877
998877
998877
998877
998877
只是要小心,因爲我敢肯定,一切數字被使用慘敗用的fscanf多種數字類型時增加一倍。
>> class(A(:,5))
ans =
double
這裏有一些小錯誤。 A = fscanf('%f ...應該是A = fscanf(fid,'%f ...;並且這種方法將輸入表的轉置置入A. – 2012-04-24 10:35:14
我修正了次要錯誤。 – PopcornKing 2012-04-24 11:42:52