Fortran 填充数组

Fortran filling arrays

我有 5 个数组定义为

Real, Allocatable :: ruvw(:,:,:)
Real, Allocatable, Dimension(13) :: a, b, c, d, e

Allocate (ruvw(13,5,2))
Allocate (a(13),b(13),c(13),d(13),e(13))

我正在尝试通过以下方式使用另一个数组填充 ruvw

ruvw(:,:,1) = [a,b,c,d,e]

我遇到错误

Incompatible ranks 2 and 1 in assignment at (1)

是的,什么

 [a,b,c,d,e]

的作用是将一维数组连接成一个长数组,而不是构建二维数组。您必须使用 reshape([a,b,c,d,e], [13, 5] ) 从中获取二维数组。