reading unformatted fortran file in matlab - which precision?

Posted by Griff on Stack Overflow See other posts from Stack Overflow or by Griff
Published on 2012-11-27T23:02:50Z Indexed on 2012/11/27 23:03 UTC
Read the original article Hit count: 238

I have just written out a file:

 real*8                         :: vol_cel
 real*8, dimension(256,256,256) :: dense

[... some operations]

open(unit=8,file=fname,form="unformatted")
write(8)dense(:,:,:)/vol_cell
close(8)

dense and vol_cell are real*8 variables. My code to read this in in Matlab:

fid = fopen(fname,'r');
mesh_raw = fread(fid,256*256*256,'double');
fclose(fid);

The min and max values clearly show that it is not reading it in correctly (Min is 0 and max is a largish positive real*8).

min =
   3.3622e+38
max =
  -3.3661e+38

What precision do I need to set in Matlab to make it read in the unformatted Fortran file?

A somewhat related question: This Matlab code I am using reads binary files OK but not unformatted files. Though I am generating this new data on my Mac OSX using gfortran. It doesn't recognize form="binary" so I can't do it that way. Do I need to add some library?

© Stack Overflow or respective owner

Related posts about matlab

Related posts about binary