如何在MATLAB中读到文件结尾?

时间:2009-11-27 19:42:42

标签: arrays matlab file-io

我有一个文件a.txt

03,17.406199
05,14.580129
07,13.904058
11,14.685388
15,14.062603
20,14.364573
25,18.035175
30,21.681789
50,22.662820

文件中的行数未知。我想阅读文件并存储

3
5
7
11
15
20
30
50

在一个数组中,浮点值在另一个数组中。

当数据长度未知时如何读取文件?

4 个答案:

答案 0 :(得分:5)

如果每行中的条目数相同,并且所有条目都是数字,那么 你可以干脆做


a = load('a.txt');

a将是一个包含两列的矩阵。

答案 1 :(得分:4)

答案 2 :(得分:1)

某些功能(如TEXTSCAN)将继续回收格式字符串,直到到达文件末尾。其他函数(如FSCANF)可以将Inf作为大小选项,表示它应该继续读取直到文件结尾。如果您在循环中逐行读取数据,则可以使用FEOF函数来测试是否已到达文件的末尾。

答案 3 :(得分:0)

由于您的元素以逗号分隔,请查看csvread。这应该将整个文件读入一个矩阵,然后您可以将其拆分为您想要的两个矢量。

免责声明:未经测试!

fileContents = csvread('a.txt');
integerColumn = fileContents(:, 1);
doubleColumn = fileContents(:, 2);