matlab - 如何将 MATLAB 变量写入格式为 3.4d3 的文本文件
问题描述
我想通过 Fortran 代码读取 MATLAB 输出。因此,我需要编写 MATLAB 脚本来生成一个带十进制符号的文本文件。喜欢:MATLAB代码
x=123.45
fprintf(filetxt,'%f',x)
输出:
123.45
如何编写输出命令或设置格式,以便我在 filetxt 中获取此值,例如:
1.2345d02
我能得到的最大值是 1.2345e02 但我想写成 1.2345d02
解决方案
正如@francescalus 所建议的那样,我认为您的 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
测试数据:
0.1234567890123456e12
0.1234567890123456e12
结果(gfortran test.f90):
xs = 0.123456790528000000E+12
xd = 0.123456789012345596E+12 <-- double-precision accuracy
推荐阅读
- javascript - 根据包括键名在内的值进行排序
- apache-spark - 有条件的 PySpark 窗口
- arrays - 在 Swift 中通过多个关键字过滤对象
- python - tensorflow:InvalidArgumentError 同时找到 AUC 分数
- java - Camel DynamicEndpoint toD 和 Http-Component 的问题
- javascript - 赫斯基 5 .huskey gitignore
- mapstruct - MapStruct:从多个变量映射到一个集合
- git - 将子文件夹推送到 GitHub,而不是父目录
- hibernate-search - 检查索引字段是否存在
- datetime - 如何以用户定义的日期格式从 Google 地球引擎导出带有属性数据和关联日期的 csv 文件?