Sum of a two dimensional array

2019-02-25 02:22发布

I have this 2D array L(i,j). How can I sum all the elements depending of i and make the result as a function of j

I did :

 do j=1,10
  do i =1,30
   T(j) = Sum( L(:,j)
  end do 
 end do

Is that ok?

标签: sum fortran
1条回答
干净又极端
2楼-- · 2019-02-25 02:54

Almost... you don't use i (and you don't need to), and you are missing one bracket:

do j=1,10
  T(j) = Sum( L(:,j) )
enddo ! j

You could also use the dimension parameter in sum to do this operation in one line:

T = sum( L, dim=1 )

However, I find that very difficult to read and would stick with the loop - it shouldn't make a difference in terms of performance.

查看更多
登录 后发表回答