2013-09-22 158 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); 

这仍然读取整个文件,但只在内存中存储第一列。