Читать бинарный файл в MatLab - PullRequest
1 голос
/ 18 февраля 2012

В C ++ я записывал свои данные в двоичный файл.Мои данные таковы: float data[a][b] (это на C ++).Теперь я просто хочу прочитать этот двоичный файл из Matlab (конечно, я довольно нов в Matlab), чтобы получить массив A (A = data[a][b]).Я ищу много решений в Google, таких как:

frid = fopen('data.bin', 'rb');
A = fread(fid,count,type)
...

Однако, может быть, из-за того, что я новичок, эти решения не работают для меня!эти данные?Любой ответ приветствуется!Спасибо!

Ответы [ 3 ]

1 голос
/ 19 февраля 2012

У вас почти правильный ответ.Для вашего случая вам нужно

fid = fopen('data.txt','rb');
A = fread(fid,[rows cols],'float');

Я предполагаю, что, хотя вы написали 'data.txt' для имени файла, файл на самом деле не является текстовым файлом.Возможно, вам придется транспонировать A, чтобы получить ожидаемый макет в зависимости от того, как вы изначально записали данные.

1 голос
/ 18 февраля 2012

Вы на правильном пути.Посмотрите документацию по функции fread (Google "Matlab Fread").fread требует указатель файла ("frid"), количество элементов для чтения и тип.Вы должны увидеть, какой тип данных у вас двоичный.Так что это будет выглядеть примерно так:

A = fread(frid, 100, 'real*4');  

Где 100 - это количество элементов для чтения.

0 голосов
/ 18 февраля 2012

какое расширение ваших данных? если он находится в * .txt файле, вы можете открыть его по

data = textread ('myfile.txt', '% f');

перейдите на http://www.mathworks.com/help/techdoc/ref/textread.html для получения дополнительной помощи ...

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