sum
배열 요소의 합
설명
S = sum(
는 크기가 1보다 큰 첫 번째 배열 차원을 따라 A의 요소의 합을 반환합니다.A
)
A
가 벡터인 경우sum(A)
는 요소의 합을 반환합니다.A
가 행렬인 경우sum(A)
는 각 열의 합이 포함된 행 벡터를 반환합니다.A
가 다차원 배열인 경우sum(A)
는 크기가 1보다 큰 첫 번째 배열 차원을 따라 연산을 수행하며, 요소를 벡터로 취급합니다. 이 차원에서S
의 크기는1
이 되고 다른 모든 차원의 크기는A
와 동일하게 유지됩니다.A
가 테이블 또는 타임테이블인 경우sum(A)
는 각 변수의 합을 포함하는 한 행 크기의 테이블을 반환합니다. (R2023a 이후)
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
배열의 모든 차원에 대한 합을 구하려면 벡터 차원 인수에 각 차원을 지정하거나 "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
값이 포함된 행렬을 만듭니다.
A = [1.77 -0.005 NaN -2.95; NaN 0.34 NaN 0.19]
A = 2×4
1.7700 -0.0050 NaN -2.9500
NaN 0.3400 NaN 0.1900
NaN
값을 제외하고 행렬의 합을 구합니다. NaN
값이 포함된 행렬 열의 경우 sum
은 NaN
이 아닌 요소에 대해 계산을 수행합니다. 값이 모두 NaN
인 행렬 열의 경우 합은 0이 됩니다.
S = sum(A,"omitnan")
S = 1×4
1.7700 0.3350 0 -2.7600
입력 인수
A
— 입력 배열
벡터 | 행렬 | 다차원 배열 | 테이블 | 타임테이블
입력 배열로, 벡터, 행렬, 다차원 배열, table형 또는 timetable형으로 지정됩니다.
A
가 스칼라이면sum(A)
는A
를 반환합니다.A
가 빈 0×0 행렬인 경우sum(A)
는0
을 반환합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| duration
| table
| timetable
복소수 지원 여부: 예
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 형, table 형 또는 timetable 형이 아닌 경우. 입력 데이터형이 이 중 하나일 때 출력값은 "native" 가 됩니다.) |
"double" | double 형(단, 데이터형이 duration 형, table 형 또는 timetable 형이 아닌 경우. 데이터형이 이 중 하나이면 "double" 이 지원되지 않습니다.) |
"native" | 입력값과 동일한 데이터형(단, 입력 데이터형이 char 이 아닌 경우. 문자형인 경우에는 "native" 가 지원되지 않습니다. 또는 입력 데이터형이 timetable 이 아닌 경우. 이 경우 출력 데이터형은 table 입니다.) |
nanflag
— 누락값 조건
"includemissing"
(디폴트 값) | "includenan"
| "omitmissing"
| "omitnan"
누락값 조건으로, 다음 값 중 하나로 지정됩니다.
"includemissing"
또는"includenan"
— 합을 구할 때A
의NaN
값을 포함합니다. 연산 차원의 요소가 하나라도NaN
인 경우 이에 대응하는S
의 요소도NaN
입니다."includemissing"
과"includenan"
은 동일하게 동작합니다."omitmissing"
또는"omitnan"
—A
의NaN
값을 무시하고, 더 적은 수의 점을 대상으로 합을 구합니다. 연산 차원의 모든 요소가NaN
인 경우 이에 대응하는S
의 요소는 0이 됩니다."omitmissing"
과"omitnan"
은 동일하게 동작합니다.
확장 기능
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
연산은 대응되는 숫자형 배열에 대한sum
연산과 동일한 답을 반환하지 않을 수 있습니다.A
가 부호 있는 정수형이고 그 곱이 기본적으로(natively) 누적되는 경우 이 차이가 커질 수 있습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
사용법 관련 참고 및 제한 사항:
sum
연산의 덧셈의 순서는 정의되지 않습니다. 따라서 분산 배열에 대한sum
연산은 대응되는 숫자형 배열에 대한sum
연산과 동일한 답을 반환하지 않을 수 있습니다.A
가 부호 있는 정수형이고 그 곱이 기본적으로(natively) 누적되는 경우 이 차이가 커질 수 있습니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨R2023a: 누락값 조건 지정
합을 구할 때 "includemissing"
또는 "omitmissing"
옵션을 사용하여 입력 배열의 누락값을 포함하거나 생략합니다. 이러한 옵션은 각각 "includenan"
및 "omitnan"
옵션과 동일하게 동작합니다.
R2023a: 테이블 및 타임테이블에 대해 직접 계산 수행
sum
함수는 테이블이나 타임테이블 내의 변수에 액세스하기 위한 인덱싱 없이 이러한 모든 변수에 대해 계산을 수행할 수 있습니다. 모든 변수는 계산을 지원하는 데이터형을 가져야 합니다. 자세한 내용은 Direct Calculations on Tables and Timetables 항목을 참조하십시오.
R2018b: 여러 차원에 대해 연산 수행
한 번에 입력 배열의 여러 차원에 대해 연산을 수행합니다. 연산 차원으로 구성된 벡터를 지정하거나, 모든 배열 차원에 대해 연산을 수행하도록 "all"
옵션을 지정하십시오.
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)