Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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
Arrays 在Fortran中从较大的数组定义数组_Arrays_Multidimensional Array_Fortran - Fatal编程技术网

Arrays 在Fortran中从较大的数组定义数组

Arrays 在Fortran中从较大的数组定义数组,arrays,multidimensional-array,fortran,Arrays,Multidimensional Array,Fortran,我在Fortran中有一个4维数组,名为covi,声明为: real, dimension(10,10,2,2) :: covi 并以某种方式进行计算 在某个时刻,我需要获取该数组的二维切片,例如lkecovi(1,1,:,:),covi(3,4,:,:),covi(7,5,:,:,:),等等。 我声明了另一个变量real,维度(2,2)::cov并编写了cov=covi(7,5,:,:),但这不起作用。它给出以下错误消息: error #6366: The shapes of the arr

我在Fortran中有一个4维数组,名为
covi
,声明为:

real, dimension(10,10,2,2) :: covi
并以某种方式进行计算

在某个时刻,我需要获取该数组的二维切片,例如lke
covi(1,1,:,:)
covi(3,4,:,:)
covi(7,5,:,:,:)
,等等。 我声明了另一个变量
real,维度(2,2)::cov
并编写了
cov=covi(7,5,:,:)
,但这不起作用。它给出以下错误消息:

error #6366: The shapes of the array expressions do not conform.   [COVI]
        covi = cov(i1,i2,:,:)
在Matlab中,这种表示法非常有效。这很直观。如何在Fortran中实现这一点


谢谢

covi=cov(i1,i2,:,:,:)
cov=covi(7,5,:,:,:)
不匹配。您刚刚错误地切换了cov和covi…请注意,如果您经常引用那些“2,2”“切片”,最好将4d数组结构为
(2,2,10)
,因为这会使4个值在内存中连续。这同样适用于matlab。