ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

sum

説明

S = sum(A) は、サイズが 1 ではない最初の配列の次元に沿った A の要素の和を返します。

  • A がベクトルの場合、sum(A) は要素の和を返します。

  • A が行列の場合、sum(A) は各列の和を含む行ベクトルを返します。

  • A が多次元配列の場合、sum(A) は、サイズが 1 でない最初の配列次元に対して作用します。ここでは要素をベクトルとして扱います。この次元は 1 になりますが、他のすべての次元のサイズは変化しません。

S = sum(A,'all') は、A のすべての要素の総和を計算します。この構文は、MATLAB® R2018b 以降で有効です。

S = sum(A,dim) は、次元 dim に沿った和を返します。たとえば、A が行列の場合、sum(A,2) は各行の和をもつ列ベクトルになります。

S = sum(A,vecdim) は、ベクトル vecdim で指定された次元に基づいて A の要素を合計します。たとえば、A が行列の場合、sum(A,[1 2]) は、A 内の要素の総和になります。これは、行列のすべての要素が次元 1 と 2 で定義された配列スライスに含まれるためです。

S = sum(___,outtype) は前述の構文の入力引数のいずれかを使って、指定されたデータ型で和を返します。outtype'default''double' または 'native' になります。

S = sum(___,nanflag) は、前述の任意の構文について NaN 値を計算に含めるか省略するかを指定します。sum(A,'includenan') ではすべての NaN 値が計算に含められ、sum(A,'omitnan') ではこれらが無視されます。

すべて折りたたむ

ベクトルを作成し、その要素の和を計算します。

A = 1:10;
S = sum(A)
S = 55

行列を作成し、各列の要素の和を計算します。

A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3

     1     3     2
     4     2     5
     6     1     4

S = sum(A)
S = 1×3

    11     6    11

行列を作成し、各行の要素の和を計算します。

A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3

     1     3     2
     4     2     5
     6     1     4

S = sum(A,2)
S = 3×1

     6
    11
    11

ベクトル次元引数を使用して配列の特定のスライスを演算します。

要素が 1 の 3 次元配列を作成します。

A = ones(4,3,2);

A の各ページのすべての要素を合計するには、ベクトル次元引数を使用して行と列を合計する次元を指定します。両方のページが 4 行 3 列の 1 の行列であるため、各ページの合計は 12 になります。

S1 = sum(A,[1 2])
S1 = 
S1(:,:,1) =

    12


S1(:,:,2) =

    12

A を最初の次元に沿ってスライスする場合は、それぞれ 3 行 2 列の行列となる結果の 4 ページの要素を合計できます。

S2 = sum(A,[2 3])
S2 = 4×1

     6
     6
     6
     6

2 つ目の次元に沿ってスライスすると、各ページの総和は 4 行 2 列の行列を超えます。

S3 = sum(A,[1 3])
S3 = 1×3

     8     8     8

R2018b 以降、1 つの配列のすべての次元を合計するには、ベクトル次元引数の各次元を指定するか、'all' オプションを指定できます。

S4 = sum(A,[1 2 3])
S4 = 24
Sall = sum(A,'all')
Sall = 24

4 x 2 x 3 の ones の配列を作成し、3 番目の次元に沿って和を計算します。

A = ones(4,2,3);
S = sum(A,3)
S = 4×2

     3     3
     3     3
     3     3
     3     3

32 ビット整数のベクトルを作成し、出力の型を native に指定して、ベクトル要素の int32 の和を計算します。

A = int32(1:10);
S = sum(A,'native')
S = int32
    55

ベクトルを作成し、NaN 値を除外した和を計算します。

A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19];
S = sum(A,'omitnan')
S = 3.3250

'omitnan' を指定しない場合、sum(A)NaN を返します。

入力引数

すべて折りたたむ

入力配列。ベクトル、行列または多次元配列として指定します。

  • A がスカラーの場合、sum(A)A を返します。

  • A が 0 行 0 列の空の行列である場合、sum(A)0 を返します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | duration
複素数のサポート: あり

演算の対象の次元。正の整数のスカラーとして指定します。値を指定しない場合、既定値は、サイズが 1 ではない最初の配列の次元です。

次元 dim は、長さが 1 に縮小した次元を示します。size(S,dim)1 ですが、他のすべての次元のサイズは変化しません。

2 次元の入力配列 A について考えます。

  • sum(A,1) は、A の列の連続する要素に対して演算を行い、各列の和の行ベクトルを返します。

  • sum(A,2) は、A の行の連続する要素に対して演算を行い、各行の和の列ベクトルを返します。

sum は、dimndims(A) より大きいか、size(A,dim)1 である場合に A を返します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

次元のベクトル。正の整数のベクトルとして指定します。各要素は入力配列の次元を表します。指定された操作次元の出力の長さは 1 で、その他は同じままです。

2 x 3 x 3 の入力配列 A を考えます。この場合、sum(A,[1 2]) は、要素が A の各ページの総和となる 1 x 1 x 3 の配列を返します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

出力データ型。'default''double' または 'native' として指定します。これらのオプションにより、演算の実行に使用されるデータ型も指定されます。

outtype出力データ型
'default'double。ただし、入力データ型が single または duration の場合、出力は 'native' になります。
'double'double。ただし、データ型が duration の場合 'double' はサポートされません。
'native'入力と同じデータ型。ただし、入力のデータ型が char の場合 'native' はサポートされません。

データ型: char

NaN の条件。次の値のいずれかとして指定します。

  • 'includenan' — 和の計算に NaN 値を含めます。結果は NaN になります。

  • 'omitnan' — 入力にあるすべての NaN 値を無視します。

データ型: char

拡張機能

参考

| | |

R2006a より前に導入