Clear Filters
Clear Filters

problem with loading .dat file

1 view (last 30 days)
Olga
Olga on 5 Feb 2012
Edited: Jan on 2 Oct 2013
I've got a .dat file which I load into my program by such a formula:
fread(FID, 4, 'uint8');
Data = fread(FID, [1, 4092], 'uint8');
Calib = Data(4:4:end); % Pierwsza czesc pliku - kalibracja
fread(FID, 4, 'uint8');
Data = fread(FID, [4096, 204600], 'uint8');
x1 = Data(1:2:204600);
The problem is that after 4092 bytes there're 16 bytes that I need to skip and continue loading the following data. A this happens every 4092 bytes. Is there any way to solve this problem? Will be grateful for any help.

Accepted Answer

Walter Roberson
Walter Roberson on 5 Feb 2012
Use the precision and skip parameters http://www.mathworks.com/help/techdoc/ref/fread.html
'4092*uint8', 16
  3 Comments
Walter Roberson
Walter Roberson on 6 Feb 2012
Hmmmm, that is not what "help fread" says should happen. The help information says specifically that the skip will be re-used. Which MATLAB version are you using? I am looking at the information for 2008b and for 2011b.
Side issue: do you perhaps want to be using 'uint8=>uint8' ? Your current code reads uint8 and converts them to double. To keep as uint8 with the skip,
'4092*uint8=>uint8', 16
Olga
Olga on 7 Feb 2012
Exactly help says that it'll skip the value SKIP after each PRECISION value. That's why I don't know why it doesn't.
I'm usin version 2010a version of MATLAB.
Thanks for the last suggestion, I've missed it.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!