24小时热门版块排行榜    

查看: 1744  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 308求调剂 +4 是Lupa啊 2026-03-09 4/200 2026-03-16 01:21 by Xttdmn
[考研] 材料与化工一志愿南昌大学327求调剂推荐 +5 Ncdx123456 2026-03-13 6/300 2026-03-15 23:39 by lovewei0727
[考研] 材料工程专硕274一志愿211求调剂 +5 薛云鹏 2026-03-15 5/250 2026-03-15 20:38 by Logic2024
[考研] 080500,材料学硕302分求调剂学校 +4 初识可乐 2026-03-14 5/250 2026-03-14 21:08 by peike
[考研] 255求调剂 +3 李嘉慧, 2026-03-12 4/200 2026-03-14 16:58 by 有只狸奴
[考研] 复试调剂 +4 z1z2z3879 2026-03-14 5/250 2026-03-14 16:30 by JourneyLucky
[考研] 材料080500调剂求收留 +3 一颗meteor 2026-03-13 3/150 2026-03-14 10:54 by peike
[考研] 295复试调剂 +5 简木ChuFront 2026-03-09 5/250 2026-03-14 01:29 by JourneyLucky
[考研] 调剂 +3 13853210211 2026-03-10 3/150 2026-03-14 00:47 by JourneyLucky
[考研] 271求调剂 +10 生如夏花… 2026-03-11 10/500 2026-03-14 00:35 by 卖报员小雨
[考研] 308求调剂 +3 是Lupa啊 2026-03-10 3/150 2026-03-14 00:30 by JourneyLucky
[考研] 327求调剂 +4 Ffff03 2026-03-10 4/200 2026-03-14 00:17 by JourneyLucky
[考研] 2026考研调剂+本科延边大学+山东大学+生物化学与分子生物学+有项目经验 +3 ccdsscjy 2026-03-10 3/150 2026-03-14 00:12 by JourneyLucky
[考研] 材料专硕288分求调剂 一志愿211 +4 在家想你 2026-03-11 4/200 2026-03-13 22:49 by JourneyLucky
[考研] 工科调剂 +4 Jiang191123! 2026-03-11 4/200 2026-03-13 15:15 by Miko19
[论文投稿] 投稿问题 5+4 星光灿烂xt 2026-03-12 6/300 2026-03-13 14:17 by god_tian
[考研] 0856化学工程280分求调剂 +4 shenzxsn 2026-03-11 4/200 2026-03-13 11:55 by ymwdoctor
[考研] 293求调剂,一志愿陕师大生物学 +3 ??????.?.??? 2026-03-09 3/150 2026-03-11 10:02 by 学员8dgXkO
[考研] 收调剂 +7 调剂的考研学生 2026-03-10 7/350 2026-03-10 17:57 by 麦茶汤圆
[考研] 家人们 调剂不迷路 看这里 +8 likeihood 2026-03-09 13/650 2026-03-10 08:09 by likeihood
信息提示
请填处理意见