Ответ 1
Как Bill the Lizard написал, вы можете использовать fread для загрузки данных в вектор. Я просто хочу немного рассказать о его ответе.
Чтение данных
>> fid=fopen('data.bin','rb') % opens the file for reading
>> A = fread(fid, count, 'int16') % reads _count_ elements and stores them in A.
Команды fopen и fread по умолчанию используют кодировку Little-endian [1] для целых чисел. Если ваш файл имеет кодировку Big-endian, вам нужно будет изменить fread на
>> A = fread(fid, count, 'int16', 'ieee-be');
Кроме того, если вы хотите прочитать весь набор файлов
>> count=inf;
и если вы хотите прочитать данные в матрицу с n столбцами, используйте
>> count=[n inf];
Запись данных
Что касается записи данных в файл. Команда, fwrite, в ответе Bill > будет записывать в двоичный файл. Если вы хотите записать данные в текстовый файл, вы можете использовать dlmwrite
>> dlmwrite('data.csv',A,',');
Ссылки
[1] http://en.wikipedia.org/wiki/Endianness
Update
-
Формат машины (IE, ieee-be, ieee-le, vaxd и т.д.) двоичных данных могут быть указаны либо в fopen или fread в Matlab. Подробная информация о поддерживаемых формат машины можно найти в Matlab документация о fopen.
-
комментарий к Bill's ответить предлагает прочитать данные в int16. Для этого используйте
>> A = int16(fread(fid,count,precision,machineFormat));
где count - размер/форма данные, подлежащие чтению, точность формат данных и машинный формат это кодирование каждого байта.
-
См. команды fseek для перемещения по файлу. Например,
>> fseek(fid,0,'bof');
перемотает файл в начало, где bof обозначает начало файла.