爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 13186|回复: 16

[程序设计] 关于用Matlab生成可以用Fortran读取的dat文件的一个小问题

[复制链接]
发表于 2013-12-13 22:52:27 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 zyn4624 于 2013-12-14 23:06 编辑

用matlab生成的txt数据文件,fortran读出来的数据是正确的;
而用matlab生成dat数据文件,fortran读取出来的数据却是错误的。请问怎么办?是不是生成dat文件时需要什么其他的指令?

M文件:
mat.png

读取数据的Fortran程序及显示结果:

读取文件的fortran及显示结果

读取文件的fortran及显示结果
matlab_try.f90 (380 Bytes, 下载次数: 5)
密码修改失败请联系微信:mofangbao
发表于 2013-12-14 10:03:10 | 显示全部楼层
你help一下matlab写dat数据时的例子看一下
密码修改失败请联系微信:mofangbao
发表于 2013-12-14 17:24:19 | 显示全部楼层
挺楼主这么说,我就好奇的是了一下。结果没有问题。。。可惜我还不会发图片。。。
应该是.dat文件的打开方式有问题,你确定那是直接存储的文件??
我似的时候两个文件打开方式是一样的
密码修改失败请联系微信:mofangbao
发表于 2013-12-14 17:24:59 | 显示全部楼层
真心对不起。。那么多错字
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2013-12-14 23:05:21 | 显示全部楼层

万分感激你的回复!
      但我的问题还是没有解决!请问具体是哪个地方不对呢?如果方便的话,你可以下载一下我的fortran程序帮我调试一下可以吗?
密码修改失败请联系微信:mofangbao
发表于 2013-12-15 10:44:04 | 显示全部楼层
没怎么试其它DE

data.dat

50 Bytes, 下载次数: 3, 下载积分: 金钱 -5

data2.txt

50 Bytes, 下载次数: 3, 下载积分: 金钱 -5

main.f90

219 Bytes, 下载次数: 8, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao
 楼主| 发表于 2013-12-15 13:21:12 | 显示全部楼层
zhang710758774 发表于 2013-12-15 10:44
没怎么试其它DE

原来问题是这样的:

我的fortran程序与你的区别在于读取dat文件的命令不同。

也就是说读取matlab生成的dat文件时,如果用有格式(formatted (默认))读取方法读出来的数据是正确的,而用无格式(unformatted)读出来的数据却是错的!如果是无格式的dat文件,那么用记事本、写字板等等是无法可视化的,而matlab生成的dat文件却可以。那么显然matlab生成的dat文件其实是有格式的,只不过用了一个扩展名是.dat的名字罢了,是这样吗?如果是这样,那如何生成可以用fortran读取的无格式的dat文件呢?




密码修改失败请联系微信:mofangbao
发表于 2013-12-15 18:43:53 | 显示全部楼层
额,具体生成数据是什么样的,是看你的命令呀,你的都是'-ascii';
只要每行长度相同,是可以用直接读取的格式的;也就是说,你的第一个打开方式有点问题而已。在此,奉上附件。matlab默认的mat格式的数据我也没看过他的格式
捕获.PNG

d1.dat

200 Bytes, 下载次数: 2, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao
发表于 2013-12-15 18:45:53 | 显示全部楼层
recl是指每行的长度。。换行符在MicroSoft里占两个字节
密码修改失败请联系微信:mofangbao
发表于 2013-12-24 20:33:01 | 显示全部楼层
我是来学习的......
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表