MAXVAL(ARRAY, DIM, MASK) または MAXVAL(ARRAY, MASK)

目的

MASK の真のエレメントに該当する次元に沿った配列内のエレメントの最大値を戻します。

クラス

変換関数

引き数の型と属性

ARRAY
整数または実数型の配列です。

DIM (オプション)
1 <= DIM <= rank(ARRAY) の 範囲内の整数スカラーです。

MASK (オプション)
形状が ARRAY に準拠している論理型の配列またはスカラーです。 これが存在しないと、配列全体が評価されます。

結果の値

結果は、ランクが rank(ARRAY)-1 の配列で、データ型は ARRAY と同じです。 DIM が脱落している場合、または ARRAY のランクが 1 の場合 は、結果はスカラーになります。

DIM が指定されている場合は、次元 DIM の 各ベクトルに沿って MASK によって指定された条件を満たす、すべての エレメントの最小値が結果の値の個々のエレメントに含まれます。 結果の中の配列エレメントの添え字 は (s1, s2, ..., s(DIM-1), s(DIM+1), ..., sn) で、 この n は ARRAY のランクで、DIM は DIM で指定された次元です。

DIM が指定されていないと、関数はすべての適用可能な エレメントの最大値を戻します。

ARRAY がゼロにサイズ指定され、マスク配列が すべて .FALSE. の値をとったとき、結果の値は ARRAY と 同じ型および kind 型をとる最大絶対値の負の数です。

+---------------------------------Fortran 95---------------------------------+

DIMMASK はどちらもオプションであるため、 引き数のさまざまな組み合わせが可能になります。 -qintlog オプションが 2 つの引き数を指定すると、2 番目の 引き数は次のうちの 1 つを参照します。

+-----------------------------End of Fortran 95------------------------------+

! A is the array  | -41  33 25 |
!                 |  12 -61 11 |
 
! What is the largest value in the entire array?
       RES = MAXVAL(A)
! The result is 33
 
! What is the largest value in each column?
       RES = MAXVAL(A, DIM=1)
! The result is | 12 33 25 |
 
! What is the largest value in each row?
       RES = MAXVAL(A, DIM=2)
! The result is | 33 12 |
 
! What is the largest value in each row, considering only
! elements that are less than 30?
       RES = MAXVAL(A, DIM=2, MASK = A .LT. 30)
! The result is | 25 12 |
IBM Copyright 2003