Читать плоский файл из Matlab - PullRequest
       29

Читать плоский файл из Matlab

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

Я хочу прочитать плоский файл, содержащий данные в двоичном формате, как я могу это сделать?Данные на самом деле представляют собой числа в двойном формате, сохраненные в двоичном виде в файле .dat

спасибо

Ответы [ 2 ]

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

Есть много способов сделать это, я обычно использую fread

fileId = fopen('mybinaryfile.dat','r'); %# open the file for reading
myData = fread(fileId,Inf,'double');    %# read everything (Inf) in the file as 'double' values

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

sizeToRead = 10000;                     %# limit size to 10000 values
fileId = fopen('mybinaryfile.dat','r'); %# open the file for reading

keepGoing=1;                            %# initialize loop
while(keepGoing)
  %# read a maximum of 'sizeToRead' values
  myData = fread(fileId,sizeToRead,'double');

  %# ...
  %# process your data here      
  %# ...

  %# make the loop stop if end of file is reached or error happened
  if numel(myData) ~= sizeToRead
    keepGoing=0;
  end
end
0 голосов
/ 19 октября 2011

Откройте этот файл с помощью FileStream, а затем оберните его в BinaryReader.Он предоставляет такие методы, как ReadDouble, ReadByte и т. Д.

...