2013-09-22 155 views
1

MATLAB中的fgelfgets等效於什麼等於從文本文件中讀取一個的時間(不是行)?從文本文件中讀取一列

+1

要從文本文件中讀取一列,您需要掃描整個文件。由於文件是按順序存儲的,所以您一定要一次讀取一行,從每行中提取所需的值。 –

+0

@EitanT:謝謝,但我希望還有另一種方式。我的數據太重,無法一次讀取。我將問題打開。 – user1611107

+0

是否有任何智能的方法來旋轉我的txt文件中的數據b4試圖將其讀取到整個矩陣或逐行?問題是我想要執行的統計數據必須在列中當前的數據上執行(數據是10k隨機步行者的模擬路徑,其中行是不同粒子的位置,列是時間) – user1611107

回答

2

您無法避免讀取文件。但是,如果數據集很大,您可以告訴MATLAB在讀取文件時忽略不相關的部分。

舉例來說,如果你的列是空格分隔,並且要在第一列讀取浮點數,你可以嘗試以下方法:

fid = fopen('input.txt'); 
C = textscan(fid, '%f %*[^\n]'); 
C = C{:}; 
fclose(fid); 

這仍然讀取整個文件,但只在內存中存儲第一列。