如何使用Fortran中的掩码索引数组

时间:2014-02-19 15:31:57

标签: fortran

我是从Python进入Fortran的。

在Python / NumPy中,我可以执行以下操作:

import numpy as np
a = np.arange(5)
b = a*10

print b[a == 3]
#  Outputs: array([30])

在Fortran我有:

program test
implicit none

integer :: a(5)
integer :: b(5)
integer :: i

a = (/(i, i = 0, 4)/)
b = a*10

! I want to do this, but it doesn't work
!print *, b(a==3)

! So instead I do this...
do i=1,5
  if(a(i)==3) print*, b(i)
enddo

end

有没有更优雅的方法(例如,使用内在函数)?

0 个答案:

没有答案