Fortran Coder

标题: Matlab读取Fortran生成的二进制数据 [打印本页]

作者: 浪里小白条    时间: 2019-12-9 15:20
标题: Matlab读取Fortran生成的二进制数据
小弟用Fortran写了一段生成二进制数据的程序,代码如下:

program main
    real::x(100)

    do i=1,100
      x(i) = i
    enddo

    open(10, file='h.dat',form='unformatted')
    write(10) x
end



然后生成的h.dat放入matlab进行处理,matlab处理的代码如下:

file_id = fopen('h.dat', 'r');
h0= fread(file_id,'float32');


结果输出来的结果是102个数据,在数组的头和尾多出了两个量级为10^-43次方的数据,如下图所示,请问各位这个是什么原因?怎么才能解决这个问题?谢谢了






作者: 青衣巷    时间: 2019-12-9 16:02
open(10, file='h.dat',access='stream')
作者: 浪里小白条    时间: 2019-12-9 16:36
青衣巷 发表于 2019-12-9 16:02
open(10, file='h.dat',access='stream')

感谢您的回复,我用了您提供的方法,虽然在数组的头上没有出现异常,但是在数组的尾部多出两个数据。
作者: 青衣巷    时间: 2019-12-9 17:01
删掉原来的文件,重新生成




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2