Fortran填充数组

时间:2015-02-27 23:30:45

标签: arrays fortran

我有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)

1 个答案:

答案 0 :(得分:3)

是的,

 [a,b,c,d,e]

确实是它将1D数组连接成一个长数组,它不会构建一个2D数组。您必须使用reshape([a,b,c,d,e], [13, 5] )从中获取2D数组。