24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1282  |  回复: 4
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 sandf 的 2 个金币 ,回帖就立即获得 2 个金币,每人有 1 次机会
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

sandf

木虫 (正式写手)

[交流] 【求助】fortran 二维数组片段的赋值

在程序可执行段,我想把下面的赋值代码(为使代码简洁)
NGTO = 1
GTOPARA(1:5, NGTO) = (/AtomPARA(1:3,1), 3.4252509D0, 0.15432897D0/)
NGTO = NGTO + 1
GTOPARA(1:5, NGTO) = (/AtomPARA(1:3, 1), 0.6239137D0, 0.53532814D0/)
NGTO = NGTO + 1
GTOPARA(1:5, NGTO) = (/AtomPARA(1:3, 1), 0.1688554D0, 0.44463454D0/)
简化如下
NGTO = 1
GTOPARA(1:5, NGTO:NGTO + 2) = (/AtomPARA(1:3,1), 3.4252509D0, 0.15432897D0, AtomPARA(1:3, 1), 0.6239137D0, 0.53532814D0,  AtomPARA(1:3, 1), 0.1688554D0, 0.44463454D0/)
结果编译错误:
GTOPARA(1:5, NGTO:NGTO + 2) = (/AtomPARA(1:3, I), 3.4252509D0
                  1
Error: Incompatible ranks 2 and 1 in assignment at (1)
注:编译器为:gcc4.5gfortran(20090421)
请问有没有解决办法。

[ Last edited by jjdg on 2010-3-9 at 23:46 ]
回复此楼

» 猜你喜欢

努力呀努力,不要成为奴隶。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hakekill

木虫 (小有名气)


余泽成(金币+1):谢谢参与讨论! 2010-03-12 14:28
我觉得把DATA放到程序运行段的写法不可取。由于这种用法不属于fortran语言的标准,只是单一编译器提供的功能。这样会使得程序的移植性大大降低。
5楼2010-03-12 08:35:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

hakekill

木虫 (小有名气)

★ ★
sandf(金币+2):谢谢参与
senlia(金币+1):感谢应助 2010-03-10 12:40
sandf(金币+4):非常感谢 2010-03-10 13:17
这个错误是说将一维数组赋给二维,我想了一个变通的方法,通过引入一个数组来完成,代码在下面,希望能对你有所帮助
program main
real :: const( 3, 5 )
real :: atompara( 3, 2)
integer :: r, c
data((const(r, c), c = 4, 5), r = 1, 3)/3.42, 0.15, 0.62, 0.53, 0.16, 0.44/

do r = 1, 3
  do c = 1, 2
    atompara(r, c) = r + c
  end do
end do

do r = 1, 3
  const( r, 1 : 3 ) = atompara( 1 : 3, 1)
end do

print "(5(f6.2,1x))", ((const(r,c),c=1,5),r=1,3)
end program
2楼2010-03-10 12:33:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ftp0000

木虫 (小有名气)

★ ★
sandf(金币+2):谢谢参与
余泽成(金币+1):谢谢应助! 2010-03-11 19:31
经过我的运行,发现下面这样是可以的:

NGTO = 1
DATA GTOPARA(1:5, NGTO:NGTO + 2)   /AtomPARA(1:3,1), 3.4252509D0, 0.15432897D0, AtomPARA(1:3, 1), 0.6239137D0, 0.53532814D0,  AtomPARA(1:3, 1), 0.1688554D0, 0.44463454D0/

这样就直接可以赋值了
3楼2010-03-11 12:37:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sandf

木虫 (正式写手)

jjdg:感谢交流 2010-03-11 23:16
引用回帖:
Originally posted by ftp0000 at 2010-03-11 12:37:46:
经过我的运行,发现下面这样是可以的:

NGTO = 1
DATA GTOPARA(1:5, NGTO:NGTO + 2)   /AtomPARA(1:3,1), 3.4252509D0, 0.15432897D0, AtomPARA(1:3, 1), 0.6239137D0, 0.53532814D0,  AtomPARA(1:3, 1), 0.1 ...

你是放在程序运行段吧,看来是编译器中Fortran版本的支持问题了。我用的是gfortran
提示:
DATA GTOPARA(1:5, NGTO:NGTO + 2)/AtomPARA(1:3,1), 3.4252509D0
                      1
Error: Cannot change attributes of USE-associated symbol gtopara at (1)
请问你是用的什么编译器的?

[ Last edited by sandf on 2010-3-12 at 07:54 ]
努力呀努力,不要成为奴隶。
4楼2010-03-11 21:25:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
提示: 如果您在30分钟内回复过其他散金贴,则可能无法领取此贴金币
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 298求调剂 +3 种圣赐 2026-03-28 3/150 2026-03-28 23:58 by wxiongid
[考研] 329求调剂 +6 星野? 2026-03-26 6/300 2026-03-28 14:14 by 唐沐儿
[考研] 0703化学求调剂 +9 奶油草莓. 2026-03-22 10/500 2026-03-28 13:30 by 唐沐儿
[考研] 322求调剂 +5 旧吢 2026-03-24 5/250 2026-03-28 13:26 by Iveryant
[考研] 286求调剂 +4 丢掉懒惰 2026-03-27 7/350 2026-03-28 08:07 by baoball
[考研] 307求调剂 +8 超级伊昂大王 2026-03-24 9/450 2026-03-27 15:34 by 超级伊昂大王
[考研] 考研调剂 +10 呼呼?~+123456 2026-03-24 10/500 2026-03-27 11:46 by wangjy2002
[考研] 一志愿吉大071010,316分求调剂 +3 xgbiknn 2026-03-27 3/150 2026-03-27 10:36 by guoweigw
[考研] 324求调剂 +8 hanamiko 2026-03-26 10/500 2026-03-27 08:06 by hypershenger
[考研] 304材料求调剂 +4 钟llll 2026-03-26 4/200 2026-03-27 03:42 by wxiongid
[考研] 333求调剂 +6 wfh030413@ 2026-03-23 6/300 2026-03-26 22:45 by 学员8dgXkO
[考研] 325求调剂 +3 Aoyijiang 2026-03-23 3/150 2026-03-26 20:46 by 不吃魚的貓
[考研] 一志愿 南京邮电大学 288分 材料考研 求调剂 +3 jl0720 2026-03-26 3/150 2026-03-26 13:39 by zzll406
[考研] 化学调剂一志愿上海交通大学336分-本科上海211 +4 小鱼爱有机 2026-03-25 4/200 2026-03-26 10:19 by aa331100
[考研] 一志愿中南大学化学学硕0703总分337求调剂 +7 niko- 2026-03-22 7/350 2026-03-25 20:14 by qingfeng258
[考研] 0854电子信息求调剂 +7 α____ 2026-03-22 9/450 2026-03-25 13:37 by α____
[考研] 285求调剂 +3 AZMK 2026-03-24 3/150 2026-03-25 12:23 by userper
[考研] 调剂 +4 13853210211 2026-03-24 4/200 2026-03-24 19:44 by ms629
[考研] 材料专硕找调剂 +5 哈哈哈吼吼吼哈 2026-03-23 5/250 2026-03-24 19:07 by 了了了了。。
[考研] 328求调剂 +4 LHHL66 2026-03-23 4/200 2026-03-23 14:55 by lbsjt
信息提示
请填处理意见