2017-05-11 10 views
0

私はFortranで配列のn番目の要素にインデックスを作成するのに苦労しています。Fortranで配列のN番目の要素をどのようにインデックスするのですか?

私は今、希望の24時間、私は

integer, dimension(1:24, 1:365, 1:91) :: my_array 

として宣言した緯度のX 365日のx 91個のステップ、の配列が唯一のn番目ごとに選択する必要があり緯度んの度合いを(10言うことができます)私は新しい配列などに緯度の任意の連続する10度を書いて何の問題もない解像度を下げると無二番目の配列

integer, dimension(1:24, 1:365, 1:10) :: my_new_array 

それらを書きます

my_new_array = my_array(:,:,50:60) 

しかし、n番目の要素ごとにどのように行うのかわかりません。 RやMatlabでは、10のステップで1から91までのシーケンスを書くだけですが、Fortranではうまくいきません。

+0

REPEATをとに追加新しい配列:http://www.tat.physik.uni-tuebingen.de/~kley/lehre/ftn77/tutorial/loops.html – SQLMason

+9

my_array(:、:、:: 10)を使いましたか? – tim18

+0

'do'ループでstepcontrolを実行できます...' do i = 1,91,10' –

答えて

0

あなたは配列スライスへの第三の要素を追加することができる:

my_new_array = my_array(:,:,1:91:10) 

参照部6.5.3アレイ素子とアレイ部Fortran Standard

これは緯度であるので、あなたは0から90に行くを検討する必要があります:

integer, dimension(1:24, 1:365, 0:90) :: my_array 

そして、あなたはあまりにも、南半球を行っている場合:UNTILループ

integer, dimension(1:24, 1:365, -90:90) :: my_array 
関連する問題