我想阅读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