Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fortran maxloc的形状错误_Fortran_Gfortran - Fatal编程技术网

Fortran maxloc的形状错误

Fortran maxloc的形状错误,fortran,gfortran,Fortran,Gfortran,我的代码有一个问题,我想找出数组的最大值元素在哪里 double precision,dimension(1484,10,10) :: a integer,dimension(1484) :: ad1 然后我尝试: ad1= maxloc(a) 我得到了错误 ad1= maxloc(a) 1 Error: Different shape for array assignment at (1) on dimension 1 (1484 and 3) 如何定义ad1?您的MAXLOC(a)

我的代码有一个问题,我想找出数组的最大值元素在哪里

double precision,dimension(1484,10,10) :: a
integer,dimension(1484)   :: ad1
然后我尝试:

ad1= maxloc(a)
我得到了错误

ad1= maxloc(a)
1
Error: Different shape for array assignment at (1) on dimension 1 (1484 and 3)
如何定义
ad1

您的
MAXLOC(a)
,如果没有
DIM=
说明符,将返回秩1和大小3的数组(秩
a
)。您正试图将此秩1数组分配给不同大小的秩1数组(1484)。从错误消息中,您可以看到以下两个注释编号

因此,您要将
ad1
声明为

integer, dimension(3) :: ad1
[请注意,如果您的编译器支持内在的
RANK
可能对一般声明有用。]


当然,你也可以像问题中那样声明ad1,但只分配给它的三个元素。

是的,我想找到一个最大元素。