0

FORTRAN-90を使用しています。問題が 1 つあります。

データ (つまり、X と Y の値) を 3 次元配列 (A(900,900,900),B(900,900,900)) に格納したいので、最初は各配列の 30X30X30 要素のみをストレージに使用しました X の 30X30X30 初期値そして次の時間ステップで、X と Y の値を変更するための科学的計算をいくつか行ってから、X と Y の 30X30X30 の変更された値を、両方の配列の (31X31X31) 番目の位置から同じ配列に格納したいと考えています。また、次のタイム ステップでも同じ手順を実行します。このようにして、配列にデータを入力し、最終的にこれらの配列を印刷したいと考えています。

このアルゴリズムを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 に答える