24小时热门版块排行榜    

查看: 1944  |  回复: 9

wysqh

木虫 (小有名气)


[交流] 【求助】matlab数据导入Fortran

目前有一个用matlab产生的一个128*128特定矩阵 存为data.dat文件  现在想要将这个矩阵导入到Fortran中存为eta(i,j) 行列要一一对应 该如何实现呢?
回复此楼

» 猜你喜欢

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★ ★
微尘、梦想(金币+2): 谢谢回贴…… 2011-04-11 11:30:55
你的 data.dat 是个文本文件?

直接读入不就可以了吗?也不是啥难事儿……

行列对应无非就是循环的下标排列的问题。

给个列子说明要如何一一对应……
2楼2011-04-11 10:57:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
如果没有记错,matlab 与 Fortran 的矩阵存贮格式是一致的。
3楼2011-04-11 10:57:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wysqh

木虫 (小有名气)


引用回帖:
Originally posted by snoopyzhao at 2011-04-11 10:57:13:
你的 data.dat 是个文本文件?

直接读入不就可以了吗?也不是啥难事儿……

行列对应无非就是循环的下标排列的问题。

给个列子说明要如何一一对应……

data.dat文件 是按照一行一行的存的 如附件
就想实现 eta(i,j) 每一行与文件里面的每一行相对应 也是128*128排列
是采用read语句实现吗?具体程序该怎么写啊。。

[ Last edited by wysqh on 2011-4-11 at 11:34 ]
4楼2011-04-11 11:33:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingxb

金虫 (正式写手)


wysqh(金币+3): 多谢交流~ 2011-04-12 08:27:27
do i = 1, 128
do j = 1, 128
  read(file, *) eta(i,j)
end do
end do

基本结构如此,如果需要指定格式的话,替换read语句中的*为格式描述。
5楼2011-04-11 14:17:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingxb

金虫 (正式写手)


为了确保读的正确,一般我都是输出进行比较。
6楼2011-04-11 14:18:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by dingxb at 2011-04-11 14:17:55:
do i = 1, 128
do j = 1, 128
  read(file, *) eta(i,j)
end do
end do

基本结构如此,如果需要指定格式的话,替换read语句中的*为格式描述。

其实一句话就够了,呵呵……
CODE:
read(unit=5, *) ((eta(i,j), j = 1,128),i=1,128)

7楼2011-04-11 17:50:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wysqh

木虫 (小有名气)


引用回帖:
Originally posted by dingxb at 2011-04-11 14:17:55:
do i = 1, 128
do j = 1, 128
  read(file, *) eta(i,j)
end do
end do

基本结构如此,如果需要指定格式的话,替换read语句中的*为格式描述。

我开始是这样做的 但是运行之后会出现下面的错误

8楼2011-04-11 22:10:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wysqh

木虫 (小有名气)


引用回帖:
Originally posted by snoopyzhao at 2011-04-11 17:50:29:
其实一句话就够了,呵呵……
CODE:
read(unit=5, *) ((eta(i,j), j = 1,128),i=1,128)


read(unit=5, *) ((eta(i,j), j = 1,128),i=1,128)
是不是少了一个括号?
9楼2011-04-11 22:14:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
wysqh(金币+7): 谢谢你的建议~因为不是专门搞这个的 很多东西不懂 2011-04-12 08:27:11
引用回帖:
Originally posted by wysqh at 2011-04-11 22:14:10:
read(unit=5, *) ((eta(i,j), j = 1,128),i=1,128)
是不是少了一个括号?

数括号我还是会的,我不知道你咋看出来少了一个括号,呵呵……

下面是我测试过的代码:
CODE:
program readata
real(kind=kind(1.0d0)), dimension(128,128) :: mat
integer :: i,j

read(unit=5,fmt=*) ((mat(i,j), j = 1,128),i=1,128)

!do i=1,128
!   write(*,*) (mat(i,j), j = 1,128)
!end do

end program readata

10楼2011-04-11 23:16:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wysqh 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +37 医学老男孩 2026-08-13 86/4300 2026-08-18 00:18 by longsantaizi
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 时间戳变了,能看出什么问题? +4 基诺咪客 2026-08-17 4/200 2026-08-17 16:10 by Vivilian
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 6/300 2026-08-16 20:07 by 奶牛小黑
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +10 majunge000 2026-08-11 12/600 2026-08-16 08:18 by xli1984
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
信息提示
请填处理意见