| 查看: 3992 | 回复: 21 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
duhb655金虫 (著名写手)
|
[求助]
fortran 怎么按行读取数据(有小例子) 已有3人参与
|
||
|
深度 温度 电导率 50.00000 28.30186 54.27303 51.00000 28.28920 54.27039 52.00000 28.27396 54.26752 53.00000 28.25474 54.27453 54.00000 28.23691 54.28119 55.00000 28.23033 54.29279 56.00000 28.22947 54.30813 57.00000 28.21856 54.30784 58.00000 28.20773 54.31368 59.00000 28.19656 54.32171 60.00000 28.15063 54.28722 我用的是网上的一个数据,我写的程序为: 得到的结果是: 50.00000 51.00000 52.00000 53.00000 54.00000 55.00000 56.00000 57.00000 58.00000 59.00000 60.00000 28.30186 28.28920 28.27396 28.25474 28.23691 28.23033 28.22947 28.21856 28.20773 28.19656 28.15063 54.27303 54.27039 54.26752 54.27453 54.28119 54.29279 54.30813 54.30784 54.31368 54.32171 54.28722 我想得到原来一样的数据,我看结果意思是按列读取,怎么能按行读取啊,或怎么能得到和原来一样的矩阵,如果可能的话,不要用A1,A2,A3三列来做,因为我的数据有很多列,谢谢了! [ Last edited by jjdg on 2014-2-9 at 10:07 ] |
» 猜你喜欢
欢迎发来filecode的Mz6后的代码验证其规律
已经有118人回复
今天放榜吗?
已经有15人回复
售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急
已经有3人回复
售SCI文章,我:8O.5.5.1O.54,科目全,可十急
已经有4人回复
售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急
已经有5人回复
售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急
已经有5人回复
filecode,4个jtjc了
已经有11人回复
filecode=后面第一个是大写字母
已经有12人回复
为什么余额宝的年化利率越来越低?主要原因有哪些?
已经有4人回复
今天基金会出结果吗?20260819
已经有8人回复
duhb655
金虫 (著名写手)
- 应助: 23 (小学生)
- 金币: 1371.3
- 散金: 4117
- 红花: 11
- 帖子: 1438
- 在线: 701小时
- 虫号: 1123253
- 注册: 2010-10-15
- 性别: GG
- 专业: 自然地理学
|
program test implicit none integer :: a(11,2),i real :: b(11,2) open(1,file='Result.txt') do i=1,11 read(1,*) a(i, ,b(i,![]() enddo open(2,file='zre.txt') print*,a(:,1) write(2,"(2i6,2f10.5)" (a(i, ,i=1,11),(b(i, ,i=1,11)end 结果: 50 40 0.00000 0.00000 52 42 0.00000 0.00000 54 44 0.00000 0.00000 56 46 0.00000 0.00000 58 48 0.00000 0.00000 60 50 28.30186 54.27303 ************ 28.27396 54.26752 ************ 28.23691 54.28119 ************ 28.22947 54.30813 ************ 28.20773 54.31368 ************ 28.15063 54.28722 |
17楼2014-02-11 00:48:43

2楼2014-02-09 10:13:53
duhb655
金虫 (著名写手)
- 应助: 23 (小学生)
- 金币: 1371.3
- 散金: 4117
- 红花: 11
- 帖子: 1438
- 在线: 701小时
- 虫号: 1123253
- 注册: 2010-10-15
- 性别: GG
- 专业: 自然地理学
3楼2014-02-09 10:25:30
snoopyzhao
至尊木虫 (职业作家)
- 程序强帖: 16
- 应助: 157 (高中生)
- 贵宾: 0.02
- 金币: 18844.7
- 红花: 29
- 帖子: 3803
- 在线: 1422.4小时
- 虫号: 183750
- 注册: 2006-02-13
- 专业: 污染生态化学
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
duhb655: 金币+10, ★★★很有帮助 2014-02-09 23:49:27
xzhdty: 金币+1, 谢谢参与 2014-02-10 08:48:22
jjdg: 编辑内容 2014-02-13 11:49
感谢参与,应助指数 +1
duhb655: 金币+10, ★★★很有帮助 2014-02-09 23:49:27
xzhdty: 金币+1, 谢谢参与 2014-02-10 08:48:22
jjdg: 编辑内容 2014-02-13 11:49
|
读的并没有错,也是按行读的,Fortran 还没有高级到可以按列来读入数据的 错的在于你打印的那句话: WRITE(12,"(3f10.5)" ) A 这句话只是告诉程序把 A 这个 矩阵中的数据打出来,每行三个实数 但你要清楚的是 Fortran 内部的矩阵存贮是列优先的,所以,它先把第一列拿出来打印,打印完了打印第二列,再打印第三列 你要想按读的方式打印,就要显示地写成循环或者使用 WRITE 支持的隐式循环…… [ Last edited by jjdg on 2014-2-13 at 11:49 ] |
4楼2014-02-09 13:21:38










回复此楼
,b(i,
(a(i,