変形組込み関数 (総称):配列中のすべての要素,配列中の要素の組,または配列の指定された次元中の要素の最大値を返します。
形式
result = MAXVAL (array [, dim] [, mask] )
array
(入力) 整数型または実数型の配列。
dim
(省略可能,入力) n を array の次元数として,1 ~ n の範囲の値を持つスカラ整数。
mask
(省略可能,入力) array と形状適合する論理型配列。
結果
結果は,array と同じデータ型の配列またはスカラです。
dim が省略されるか,array が次元数 1 である場合,結果はスカラになります。
dim が省略された場合には,以下の規則が適用されます。
MAXVAL (array) が指定された場合,結果は array のすべての要素のうちの最大値に等しい値を持ちます。
MAXVAL (array, MASK=mask) が指定された場合,結果は array 中の mask によって指定された条件に対応する要素の最大値に等しい値を持ちます。
dim が宣言された場合,以下の規則が適用されます。
配列結果の次元数は array よりも 1 だけ少ない値になり,その形状は,array の形状を (d1, d2, ..., dn) として,(d1, d2,...ddim-1, ddim+1,...dn) となります。
array の次元数が 1 の場合,MAXVAL (array, dim [,mask]) の値は,MAXVAL (array [,MASK = mask]) と等しくなります。それ以外の場合は,MAXVAL (array, dim [,mask]) の要素 (s1, s2, ..., sdim-1, sdim+1, ..., sn) の値は,MAXVAL (array (s1, s2, ..., sdim-1, :, sdim+1, ..., sn) [, MASK = mask (s1, s2, ..., sdim-1, :, sdim+1, ..., sn)]) と等しくなります。
array の大きさがゼロであるか,mask 中に真の要素がない場合,結果 (dim が省略された場合),または結果配列の個々の要素 (dim が指定されている場合) の値は,array の型と種別パラメタを持つ数値に対してプロセッサーがサポートしている最も大きな負の数値となります。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
例
MAXVAL ((/2, 3, 4/)) の値は,この次元数 1 の配列の最大値である 4 となります。
MAXVAL (B, MASK=B .LT. 0.0) は,B の負の要素の最大値を探します。
C が配列
[ 2 3 4 ] [ 5 6 7 ]
であるとします。
MAXVAL (C, DIM=1) の値は (5, 6, 7) です。5 は列 1 の最大値で,6 は列 2 の最大値です (以下同様)。
MAXVAL (C, DIM=2) の値は (4, 7) です。4 は行 1 の最大値で,7 は行 2 の最大値です。
MAXVAL (A, DIM=2) の値は (1, 4, 3) です。1 は行 1 の最大値の位置を表す添字,4 は行 2 の最大値の位置を表す添字です (以下同様)。
以下に他の例を示します。
INTEGER array(2,3), i(2), max INTEGER, ALLOCATABLE :: AR1(:), AR2(:) array = RESHAPE((/1, 4, 5, 2, 3, 6/),(/2, 3/)) ! 配列は 1 5 3 ! 4 2 6 です。 i = SHAPE(array) ! i = [2 3] ALLOCATE (AR1(i(2))) ! AR1 の次元は ! 配列の次元 2 (列) ! の要素数です。 ALLOCATE (AR2(i(1))) ! AR2 の次元は ! 配列の次元 1 (行) ! の要素数です。 max = MAXVAL(array, MASK = array .LT. 4) ! 3 を返します。 AR1 = MAXVAL(array, DIM = 1) ! [ 4 5 6 ] を返します。 AR2 = MAXVAL(array, DIM = 2) ! [ 5 6 ] を返します。 END