当前位置: 首页 > 文档资料 > Fortran 中文教程 >

Reduction

优质
小牛编辑
137浏览
2023-12-01

下表描述了还原功能:

功能描述
all(mask, dim)它返回一个逻辑值,指示掩码中的所有关系是否都是.true。如果给出第二个参数,则只显示所需的维度。
any(mask, dim)它返回一个逻辑值,指示掩码中的任何关系是否为.true。,如果给出第二个参数,则只显示所需的维度。
count(mask, dim)它返回一个数值,它是掩码中关系的数量,即.true。,如果给出第二个参数,则只返回所需的维度。
maxval(array, dim, mask)它返回数组数组中的最大值,如果给出了那个,则返回第三个参数掩码中遵循关系的值,如果给出第二个参数dim,则返回所需的维度。
minval(array, dim, mask)它返回数组数组中的最小值,即第三个参数掩码中的关系,如果给出了那个,如果给出了第二个参数DIM,则只返回所需的维度。
product(array, dim, mask)它返回数组数组中所有元素的乘积,即第三个参数掩码中遵循该关系的元素的乘积(如果给出了该元素),如果给出第二个参数dim,则返回所需的维度。
sum(数组,暗淡,掩码)它返回数组数组中所有元素的总和,以及第三个参数掩码中遵循关系的元素的总和(如果给出了那个),如果给出了第二个参数dim,则返回所需的维度。

Example

以下示例演示了以下概念:

program arrayReduction
   real, dimension(3,2) :: a 
   a = reshape( (/5,9,6,10,8,12/), (/3,2/) ) 
   Print *, all(a>5)
   Print *, any(a>5)
   Print *, count(a>5)
   Print *, all(a>=5 .and. a<10)
end program arrayReduction

编译并执行上述代码时,会产生以下结果:

F
T
5
F

Example

以下示例演示了以下概念:

program arrayReduction
implicit none
   real, dimension(1:6) :: a = (/ 21.0, 12.0,33.0, 24.0, 15.0, 16.0 /)
   Print *, maxval(a)
   Print *, minval(a)
   Print *, sum(a)
   Print *, product(a)
end program arrayReduction 

编译并执行上述代码时,会产生以下结果:

33.0000000    
12.0000000    
121.000000    
47900160.0