Как импортировать файл .dat в Matlab? - PullRequest
2 голосов
/ 15 октября 2011

у меня есть один файл (name.dat), который является двоичными данными, он имеет 12 строк заголовка, а затем только один столбец из 10 ^ 6 плавающих точек данных.

Я искал, что в Matlab я могу сделать

fid=fopen('name.dat','r');
A= fscanf(fid, '%f');
fclose(fid);

При запуске трех строк кода, приведенных выше, и A пусто;он подключен.

Можете ли вы помочь мне в этом?

Спасибо

Ответы [ 2 ]

4 голосов
/ 19 октября 2011

Наконец-то я понял это. Когда я открываю свой файл .dat в текстовом редакторе, он имеет заголовки и часть данных. Я вижу заголовок (ASCII), но часть данных является случайным машинным кодом, что означает, что это двоичные данные, я также знаю, что это с плавающей запятой.

, поэтому вместо использования "textcan или fscan" я использую функцию "fread" в matlab для загрузки данных.

Перед загрузкой в ​​matlab я удалил строки заголовков, если не удален, размер загружаемых данных отличается и неверен.

fid=fopen('name.dat','rt');
A = fread(fid,'*float32');
fclose(fid);

A - окончательный массив данных.

2 голосов
/ 16 октября 2011

Вот пример использования функции TEXTSCAN:

name.dat

header line 1
header line 2
0.81428
0.24352
0.92926
0.34998
0.1966
0.25108
0.61604
0.47329
0.35166
0.83083

MALTAB

fid = fopen('name.dat','rt');
A = textscan(fid, '%f', 'HeaderLines',2);
A = A{1};
fclose(fid);

A теперь вектор с десятью числами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...