如何将MATLAB变量写入3.4d3格式的文本文件



我想阅读Fortran代码输出的MATLAB。因此,我需要编写MATLAB脚本来生成一个带有十进制符号的文本文件。类似:MATLAB代码

x=123.45
 fprintf(filetxt,'%f',x)

输出:

123.45

如何编写输出命令或设置格式,以便在filetxt中获得该值,如:

1.2345d02 

我能得到的最大值是1.2345e02,但我想写得像1.2345d02

正如@franciescalus所建议的,我认为您的Fortran编译器可能会按照预期将1.2345e02这样的浮点文字读入双精度变量(如下代码所示(。所以,我想你可以把1.2345e02而不是1.2345d02写入数据文件。。。

program main
    implicit none
    real :: xs
    double precision :: xd
    open(10, file='test.dat', status='old')
    read(10,*) xs
    read(10,*) xd
    close(10)
    print "(a, e30.18)", "xs = ", xs
    print "(a, e30.18)", "xd = ", xd
end

test.dat:

0.1234567890123456e12
0.1234567890123456e12

结果(gfortran测试.f90(:

xs =       0.123456790528000000E+12
xd =       0.123456789012345596E+12  <-- double-precision accuracy

相关内容

  • 没有找到相关文章

最新更新