читать двоичный файл в 2d массиве Matlab - PullRequest
1 голос
/ 08 ноября 2011

Я использую этот фрагмент кода для чтения двоичного файла в массив

 fid=fopen('data.bin','rb') % opens the file for reading
 A = fread(fid, count, 'int16') % reads _count_ elements and stores them in A

Но он читает файл в одномерный массив. Есть ли прямой метод для чтения двоичного файла в 2d массив без необходимости писать циклы для этого?

Ответы [ 2 ]

3 голосов
/ 08 ноября 2011

Я считаю, что это то, что вам нужно:

fid = fopen('data.bin','rb');
A = fread(fid, [rows columns], 'int16')
1 голос
/ 08 ноября 2011

Вы должны знать заранее количество строк / столбцов матрицы, которую вы хотите прочитать. Таким образом, вы читаете значения в виде массива, а затем преобразуете результат в ожидаемый размер:

A = reshape(A,[r c]);
...