我正在使用FORTRAN-90。 我有一个问题。
我希望以三维数组(A(900,900,900),B(900,900,900))存储数据(即X和Y值),这样开始时我只使用每个阵列的30X30X30元素进行存储30X30X30初始化X和Y的值,然后在下一步我有一些科学计算来改变X和Y的值,然后再次想要在同一阵列中存储30X30X30的X和Y修改值,从(31X31X31)位置两个数组以及下一个时间步骤的相同程序。通过这种方式,我想用数据填充数组,最后想要打印这些数组。
你能帮我解释一下如何编写这个算法我FORTRAN代码......
请帮帮我。
请指导我
最诚挚的问候
Amitavo
答案 0 :(得分:0)
嗯,这个怎么样:
real*8 :: A(900,900,900),X(30,30,30)
integer :: offset
offset=0
! define X however ...
A(1:30,1:30,1:30)=X
do while (offset<900)
! do stuff to X
! do more stuff to X
offset=offset+30
A(1+offset:30+offset,1+offset:30+offset,1+offset:30+offset)=X
enddo
另外,我认为ja72有更好的主意。但如果你需要这样做,我认为这就是你想要的。