変形組込み関数 (総称):配列全体のまたは配列の指定された次元のすべての要素の和を返します。
形式
result = SUM (array [, dim] [, mask])
array
(入力) 整数型,実数型,または複素数型の配列。
dim
(省略可能,入力) n を array の次元数として,1 ~ n の範囲の値を持つスカラ整数。
mask
(省略可能,入力) 論理型配列。array と形状適合でなくてはなりません。
結果
結果は,array と同じデータ型を持つ配列またはスカラです。
結果は,dim が省略されるか,array が次元数 1 の場合にはスカラになります。
dim が省略された場合,以下の規則が適用されます。
SUM (array) が指定された場合,結果は array のすべての要素の和です。array の大きさがゼロならば,結果はゼロになります。
SUM (array, MASK=mask) が指定された場合,結果は,mask の真の要素に対応する array のすべての要素の和になります。真の要素がなければ,結果はゼロになります。
dim が指定された場合には,以下の規則が適用されます。
array の次元数が 1 ならば,値は SUM (array [,MASK=mask]) となります。
配列の結果の次元数は array よりも 1 だけ少ない値になり,その形状は,array の形状を (d1, d2, ..., dn) として,(d1, d2, ..., ddim-1, ddim+1, ..., dn) となります。
SUM (array, dim [,mask]) の要素 (s1, s2, ..., sdim-1, sdim+1, ..., sn) の値は,SUM (array (s1, s2, ..., sdim-1, :, sdim+1, ..., sn) [,MASK = mask (s1, s2, ..., sdim-1, :, sdim+1, ..., sn)] と等しくなります。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
例
SUM ((/2, 3, 4/)) は値 9 を返します (2 + 3 + 4 の和)。SUM ((/2, 3, 4/), DIM=1) も同じ結果を返します。
SUM (B, MASK=B .LT. 0.0) は,B の負の要素の算術和を返します。
C が配列
[ 1 2 3 ] [ 4 5 6 ]
であるとします。
SUM (C, DIM=1) は,各列のすべての要素の和である値 (5, 7, 9) を返します。5 は列 1 の 1 + 4 の和,7 は列 2 の 2 + 5 の和です (以下同様)。
SUM (C, DIM=2) は,各行のすべての要素の和である値 (6, 15) を返します。6 は行 1 の 1 + 2 + 3 の和,15 は行 2 の 4 + 5 + 6 の和です。
以下に他の例を示します。
INTEGER array (2, 3), i, j(3) array = RESHAPE((/1, 2, 3, 4, 5, 6/), (/2, 3/)) ! 配列は 1 3 5 ! 2 4 6 です。 i = SUM((/ 1, 2, 3 /)) ! 6 を返します。 j = SUM(array, DIM = 1) ! [3 7 11] を返します。 WRITE(*,*) i, j END