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] )
从中获取二维数组。
我有 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] )
从中获取二维数组。