我正在努力索引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不起作用。
答案 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