Как читать до конца файла в MATLAB? - PullRequest
1 голос
/ 27 ноября 2009

У меня есть файл 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 ]

5 голосов
/ 27 ноября 2009

Если количество записей в каждой строке одинаковое и если все записи являются числовыми, то ты можешь просто сделать

<code>
a = load('a.txt');

a будет матрица с двумя столбцами.

4 голосов
/ 27 ноября 2009

Читайте построчно , пока не нажмете маркер EOF .

1 голос
/ 27 ноября 2009

Некоторые функции (например, TEXTSCAN ) будут продолжать перерабатывать строку формата, пока не будет достигнут конец файла. Другие функции (например, FSCANF ) могут принимать Inf в качестве параметра размера, указывая, что он должен продолжить чтение до конца файла. Если вы читаете данные построчно в цикле, вы можете использовать функцию FEOF , чтобы проверить, достигнут ли конец файла.

0 голосов
/ 27 ноября 2009

Поскольку ваши элементы разделены запятыми, взгляните на csvread . Это должно прочитать весь файл в одну матрицу, которую затем можно разделить на два нужных вектора.

Отказ от ответственности: не проверено!

fileContents = csvread('a.txt');
integerColumn = fileContents(:, 1);
doubleColumn = fileContents(:, 2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...