如何索引Fortran中数组的每个第N个元素?

时间:2017-05-11 12:21:53

标签: arrays indexing fortran

我正在努力索引Fortran中数组的每个第n个元素。

我有一个24小时x 365天x 91步纬度的数组,我已声明为

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

我现在想只选择每个n(让我们说第10个)纬度确实降低分辨率并且不写第二个数组

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

我对新阵列的任何10个连续纬度都没有问题,例如

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

但是无法弄清楚如何使用每个第n个元素。在R或Matlab中,我只需按步长10编写1到91的序列,但这对Fortran不起作用。

1 个答案:

答案 0 :(得分:1)

您可以向数组切片添加第三个元素:

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

请参阅Fortran Standard中的 6.5.3数组元素和数组部分部分。

由于这是纬度,您可能需要考虑从0到90:

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

如果你正在做南半球:

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