24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1300  |  回复: 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

木虫 (小有名气)

★ ★
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的回帖

hakekill

木虫 (小有名气)


余泽成(金币+1):谢谢参与讨论! 2010-03-12 14:28
我觉得把DATA放到程序运行段的写法不可取。由于这种用法不属于fortran语言的标准,只是单一编译器提供的功能。这样会使得程序的移植性大大降低。
5楼2010-03-12 08:35:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sandf 的主题更新
提示: 如果您在30分钟内回复过其他散金贴,则可能无法领取此贴金币
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 l7k6xnh0yc 2026-05-14 7/350 2026-05-16 23:17 by ue3ir18jc3
[考博] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +5 l7k6xnh0yc 2026-05-14 5/250 2026-05-16 23:05 by ue3ir18jc3
[论文投稿] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +4 xx7gd5zq4e 2026-05-15 6/300 2026-05-16 22:25 by lindoudou
[基金申请] 重磅!青年科学基金项目(C类)资助增幅预计超过50% +6 水和泥不是水泥 2026-05-13 8/400 2026-05-16 19:50 by Equinoxhua
[有机交流] 求助2,4-二氯-5-嘧啶甲醛的合成方法 20+3 光吃不拉 2026-05-14 6/300 2026-05-16 19:46 by Equinoxhua
[基金申请] 精华III评审感受-评审感受-评审感受 +15 ferrarichen 2026-05-11 19/950 2026-05-16 19:44 by Equinoxhua
[论文投稿] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 ky2p12rrjj 2026-05-15 4/200 2026-05-16 18:45 by j6b2pdz07o
[找工作] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 ky2p12rrjj 2026-05-15 3/150 2026-05-16 18:35 by j6b2pdz07o
[论文投稿] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 x0mp7owy2b 2026-05-15 3/150 2026-05-16 17:50 by j6b2pdz07o
[基金申请] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 v9tggjlwd0 2026-05-15 3/150 2026-05-16 17:37 by j6b2pdz07o
[有机交流] 如何实现卤原子转化 10+3 BT20230424 2026-05-15 5/250 2026-05-16 16:20 by czyzsu
[考研] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +5 cjf4bx70cj 2026-05-14 6/300 2026-05-16 16:17 by 0i5p09z61n
[考研] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +4 l7k6xnh0yc 2026-05-14 6/300 2026-05-16 11:29 by h3oerqvkv9
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +4 cjf4bx70cj 2026-05-14 6/300 2026-05-16 11:16 by h3oerqvkv9
[考博] 2026博士还有哪些学校有名额 +5 小王求读研 2026-05-15 6/300 2026-05-16 10:44 by a4742549
[基金申请] 这年头没有找到涵评专家,还有中面上的可能吗 +11 dd921ww 2026-05-12 13/650 2026-05-16 09:16 by Howard28
[考博] 西南大学考核制博士 +4 lijunjie84 2026-05-11 7/350 2026-05-15 23:20 by 同仁堂教主
[基金申请] 青C资助名额大幅增加! +11 西葫芦炒鸡蛋 2026-05-13 15/750 2026-05-15 14:36 by ambravo
[教师之家] 教学课件你会给同学吗 +8 硕士研究生吗 2026-05-13 8/400 2026-05-14 22:23 by 常规沥青
[考博] 材料类只有一篇综述能申博么 +4 乐逍遥谷 2026-05-13 4/200 2026-05-14 12:05 by zhyzzh
信息提示
请填处理意见