24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1774  |  回复: 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求调剂 +8 倘若起风了呢 2026-04-05 8/400 2026-04-05 21:43 by 醉翁wl
[考研] 求调剂 +13 111623 2026-04-04 15/750 2026-04-05 19:42 by 朱成玉2017
[考研] 308求调剂 +4 maverick^_^ 2026-04-03 4/200 2026-04-05 19:08 by 蓝云思雨
[考研] 工科08-机械专硕-求调剂 +3 雷欧飞踢 2026-04-02 3/150 2026-04-05 18:49 by 蓝云思雨
[考研] 求调剂 +4 chenxrlkx 2026-04-05 6/300 2026-04-05 18:38 by imissbao
[考研] 367求调剂 +3 谢28 2026-03-30 3/150 2026-04-05 13:27 by huangmoli
[考研] 生物工程求调剂 +6 喜欢还是不甘心 2026-04-05 6/300 2026-04-05 10:28 by 唐沐儿
[考研] 0854求调剂 +4 assdll 2026-04-04 4/200 2026-04-05 09:44 by zhq0425
[考研] 413求调剂 +4 柯某某 2026-03-31 4/200 2026-04-04 22:18 by 学员6BFVa3
[考研] 331求调剂 +3 niby 2026-04-02 3/150 2026-04-04 19:56 by 蓝云思雨
[考研] 求调剂,一志愿北京中医药大学 +3 小小达不溜 2026-04-02 3/150 2026-04-03 22:55 by 冲矢昴星团
[考研] 322求调剂 +6 FZAC123 2026-04-03 6/300 2026-04-03 22:23 by 科研小专家
[考研] 281求调剂 +10 aaawhy 2026-04-03 10/500 2026-04-03 21:42 by lbsjt
[考研] 调剂 +5 asdasdassda 2026-04-03 6/300 2026-04-03 20:27 by 岸上的一条鱼
[考研] 11408,284分,二战真诚求调剂 +4 12.27 2026-04-02 4/200 2026-04-03 14:14 by dxiaoxin
[硕博家园] 求老师收留 +9 lllq123 2026-04-03 9/450 2026-04-03 13:48 by 呼吸都是减肥
[考研] 274求调剂 +10 薛定谔的虎。 2026-04-01 10/500 2026-04-03 10:13 by tianyyysss
[考研] 085801 总分275 本科新能源 求调剂 +19 bradoner 2026-04-01 23/1150 2026-04-03 10:07 by linyelide
[考研] 0856材料与化工调剂,339 +14 10213207 2026-03-31 14/700 2026-04-02 21:01 by 1104338198
[考研] 求0861交通运输专硕or材料专硕调剂 +4 勒布朗@ 2026-03-31 4/200 2026-04-01 09:54 by 一只好果子?
信息提示
请填处理意见