sum
배열 요소의 합
설명
S = sum(
는 크기가 1이 아닌 첫 번째 배열 차원을 따라 A의 요소의 합을 반환합니다.A
)
A
가 벡터인 경우sum(A)
는 요소의 합을 반환합니다.A
가 행렬인 경우sum(A)
는 각 열의 합이 포함된 행 벡터를 반환합니다.A
가 다차원 배열인 경우sum(A)
는 크기가 1이 아닌 첫 번째 배열 차원을 따라 동작을 수행하며, 요소를 벡터로 취급합니다. 이 차원은1
이 되고 다른 모든 차원의 크기는 변경되지 않습니다.
S = sum(___,
은 위에 열거된 구문에 입력 인수 사용 시 지정된 데이터형으로 합을 반환합니다. outtype
)outtype
은 'default'
, 'double'
또는 'native'
일 수 있습니다.
예제
벡터 요소의 합
행렬 열의 합
행렬을 만든 다음 각 열에 있는 요소의 합을 계산합니다.
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
의 각 페이지의 요소의 합을 구하려면 벡터 차원 인수를 사용하여 합을 구할 차원(행과 열)을 지정하십시오. 두 페이지 모두 1로 구성된 4×3 행렬이므로 각 페이지의 합은 12가 됩니다.
S1 = sum(A,[1 2])
S1 = S1(:,:,1) = 12 S1(:,:,2) = 12
A
를 첫 번째 차원을 따라 자르면 그 결과로 나오는 4개 페이지(각각 3×2 행렬) 의 요소의 합을 구할 수 있습니다.
S2 = sum(A,[2 3])
S2 = 4×1
6
6
6
6
두 번째 차원을 따라 자르면 각각 4×2 행렬이 되는 페이지의 합을 구할 수 있습니다.
S3 = sum(A,[1 3])
S3 = 1×3
8 8 8
R2018b부터, 배열의 모든 차원에 걸쳐 합을 구하려면 벡터 차원 인수에 차원을 지정하거나 'all'
옵션을 사용하면 됩니다.
S4 = sum(A,[1 2 3])
S4 = 24
Sall = sum(A,'all')
Sall = 24
3차원 배열의 합
1로 구성된 4×2×3 배열을 만들고 세 번째 차원을 따라 합을 계산합니다.
A = ones(4,2,3); S = sum(A,3)
S = 4×2
3 3
3 3
3 3
3 3
32비트 정수의 합
32비트 정수로 구성된 벡터를 만들고, 출력 유형을 native
로 지정하여 해당 요소의 int32
형 합을 계산합니다.
A = int32(1:10);
S = sum(A,'native')
S = int32
55
NaN
을 제외한 합
벡터를 만들고, 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
— 입력 배열
벡터 | 행렬 | 다차원 배열
입력 배열로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다.
A
가 스칼라이면sum(A)
는A
를 반환합니다.A
가 빈 0×0 행렬인 경우sum(A)
는0
을 반환합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| duration
복소수 지원 여부: 예
dim
— 연산을 수행할 차원
양의 정수 스칼라
연산을 수행할 차원으로, 양의 정수 스칼라로 지정됩니다. 차원을 지정하지 않을 경우 디폴트 값은 크기가 1보다 큰 첫 번째 배열 차원이 됩니다.
차원 dim
은 길이가 1로 줄어드는 차원을 나타냅니다. size(S,dim)
은 1
이 되고, 다른 모든 차원의 크기는 변경되지 않습니다.
2차원 입력 배열 A
가 있다고 가정하겠습니다.
sum(A,1)
은A
의 열에 있는 연속된 요소에 대해 동작을 수행하고 각 열의 합으로 구성된 행 벡터를 반환합니다.sum(A,2)
는A
의 행에 있는 연속된 요소에 대해 동작을 수행하고 각 행의 합으로 구성된 열 벡터를 반환합니다.
dim
이 ndims(A)
보다 크거나 size(A,dim)
이 1
인 경우 sum
은 A
를 반환합니다.
데이터형: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
vecdim
— 차원의 벡터
양의 정수로 구성된 벡터
차원의 벡터로, 양의 정수로 구성된 벡터로 지정됩니다. 각 요소는 입력 배열의 차원을 나타냅니다. 지정된 연산 차원의 출력값의 길이는 1이고, 다른 모든 차원의 길이는 변경되지 않습니다.
2×3×3 입력 배열 A
가 있다고 가정하겠습니다. 이때 sum(A,[1 2])
는 A
의 각 페이지의 합을 요소로 갖는 1×1×3 배열을 반환합니다.
데이터형: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
outtype
— 출력 데이터형
'default'
(디폴트 값) | 'double'
| 'native'
출력 데이터형으로, 'default'
, 'double'
, 'native'
중 하나로 지정됩니다. 이러한 옵션은 또한 연산을 수행할 때 사용되는 데이터형을 지정합니다.
outtype | 출력 데이터형 |
---|---|
'default' | double 형(단, 입력 데이터형이 single 형 또는 duration 형이 아닌 경우. 입력 데이터형이 이 중 하나일 때 출력값은 'native' 가 됩니다.) |
'double' | double 형(단, 데이터형이 duration 형이 아닌 경우. duration형인 경우에는 'double' 형이 지원되지 않습니다.) |
'native' | 입력값과 동일한 데이터형(단, 입력 데이터형이 char 이 아닌 경우. 문자형인 경우에는 'native' 가 지원되지 않습니다.) |
데이터형: char
nanflag
— NaN
조건
‘includenan
’ (디폴트 값) | ‘omitnan
’
NaN
조건으로, 다음 값 중 하나로 지정됩니다.
'includenan'
— 합을 계산할 때NaN
값을 포함하며,NaN
결과가 생성됩니다.'omitnan'
— 입력값의 모든NaN
값을 무시합니다.
데이터형: char
확장 기능
tall형 배열
메모리에 담을 수 없을 정도로 많은 행을 가진 배열을 계산할 수 있습니다.
이 함수는 tall형 배열을 완전히 지원합니다. 자세한 내용은 tall형 배열 항목을 참조하십시오.
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
dim
을 지정할 경우 그 값은 상수여야 합니다.outtype
옵션과nanflag
옵션은 상수 문자형 벡터여야 합니다.Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder) 항목을 참조하십시오.
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
dim
을 지정할 경우 그 값은 상수여야 합니다.outtype
옵션과nanflag
옵션은 상수 문자형 벡터여야 합니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
sum
연산의 덧셈의 순서는 정의되지 않습니다. 따라서 GPU 배열에 대한sum
연산은 대응되는 MATLAB 숫자형 배열에 대한sum
연산과 동일한 답을 반환하지 않을 수 있습니다.A
가 부호 있는 정수형이고 그 곱이 기본적으로(natively) 누적되는 경우 이 차이가 커질 수 있습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
사용법 관련 참고 및 제한 사항:
sum
연산의 덧셈의 순서는 정의되지 않습니다. 따라서 분산 배열에 대한sum
연산은 대응되는 MATLAB 숫자형 배열에 대한sum
연산과 동일한 답을 반환하지 않을 수 있습니다.A
가 부호 있는 정수형이고 그 곱이 기본적으로(natively) 누적되는 경우 이 차이가 커질 수 있습니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)