0

我正在使用 FORTRAN-90。我有一个问题。

我想将数据(即 X 和 Y 值)存储在一个三维数组(A(900,900,900),B(900,900,900))中,这样一开始我只使用每个数组的 30X30X30 个元素来存储 30X30X30 X 的初始值和 Y 然后在下一个时间步骤我有一些科学计算来改变 X 和 Y 的值然后再次想从两个数组的第 (31X31X31) 位置将 30X30X30 修改后的 X 和 Y 值存储在同一个数组中并再次为下一个时间步执行相同的程序。通过这种方式,我想用我的数据填充数组,最后想打印这些数组。

你能帮我看看我如何写这个算法我 FORTRAN 代码......

请帮我。

请指导我

最诚挚的问候

阿米塔沃

4

1 回答 1

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 有更好的主意。但是,如果这是您需要这样做的方式,我认为这就是您想要的。

于 2012-05-16T16:30:23.570 回答