Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

cumsum

누적합(Cumulative Sum)

설명

예제

B = cumsum(A)는 크기가 1이 아닌 A의 첫 번째 배열 차원의 시작에서부터 계산하여 A의 누적합을 반환합니다.

  • A가 벡터인 경우 cumsum(A)는 배열(A) 요소의 누적합을 계산하여 벡터로 반환합니다.

  • A가 행렬인 경우 cumsum(A)A의 각 열별로 누적합을 계산하여 행렬로 반환합니다.

  • A가 다차원 배열인 경우 cumsum(A)첫 번째 비한원소(Nonsingleton) 차원을 따라 동작을 수행합니다.

예제

B = cumsum(A,dim)은 차원 dim 정의에 따라 요소의 누적합을 반환합니다. 예를 들어, A가 행렬인 경우 cumsum(A,2)는 각 행의 누적합을 반환합니다.

예제

B = cumsum(___,direction)은 위에 열거된 구문 중 하나를 사용하고 선택적으로 방향을 지정합니다. A는 반드시 지정해야 하며, dim을 선택적으로 지정할 수 있습니다. 예를 들어, cumsum(A,2,'reverse')는 두 번째 차원의 끝에서 시작 방향으로 작업하여 A의 행 내의 누적합을 반환합니다.

예제

B = cumsum(___,nanflag)는 위에 열거된 구문의 계산에 NaN 값을 포함시킬지 또는 생략할지 여부를 지정합니다. cumsum(A,'includenan')은 계산에 모든 NaN 값을 포함시키는 반면 cumsum(A,'omitnan')은 NaN 값을 무시합니다.

예제

모두 축소

1부터 5까지 정수의 누적합을 구합니다. 요소 B(2)A(1)A(2)의 합이고, B(5)는 요소 A(1)부터 A(5)까지의 합입니다.

A = 1:5;
B = cumsum(A)
B = 1×5

     1     3     6    10    15

요소가 선형 인덱스에 대응하는 3×3 행렬을 정의합니다.

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

     1     4     7
     2     5     8
     3     6     9

A의 열 누적합을 구합니다. 요소 B(5)A(4)A(5)의 합이고, B(9)A(7), A(8)A(9)의 합입니다.

B = cumsum(A)
B = 3×3

     1     4     7
     3     9    15
     6    15    24

요소가 선형 인덱스에 대응하는 2×3 행렬을 정의합니다.

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

     1     3     5
     2     4     6

A의 행 누적합을 구합니다. 요소 B(3)A(1)A(3)의 합이고, B(5)A(1), A(3)A(5)의 합입니다.

B = cumsum(A,2)
B = 2×3

     1     4     9
     2     6    12

논리값으로 구성된 배열을 만듭니다.

A = [true false true; true true false]
A = 2x3 logical array

   1   0   1
   1   1   0

A의 행 누적합을 구합니다.

B = cumsum(A,2)
B = 2×3

     1     1     2
     1     2     2

출력값은 double형입니다.

class(B)
ans = 
'double'

1과 10 사이의 임의의 정수로 구성된 3×3 행렬을 만듭니다.

rng default;
A = randi([1,10],3)
A = 3×3

     9    10     3
    10     7     6
     2     1    10

행을 따라 누적합을 계산합니다. 'reverse' 옵션을 지정하여 각 행의 오른쪽에서 왼쪽 방향으로 작업하도록 합니다. 결과는 A와 크기가 동일합니다.

B = cumsum(A,2,'reverse')
B = 3×3

    22    13     3
    23    13     6
    13    11    10

NaN 값을 포함하는 벡터를 만든 다음 누적합을 계산합니다. 기본적으로 cumsumNaN 값을 포함합니다. 계산에 NaN 값을 포함시키면 A에서 첫 번째 NaN 값이 발견되는 즉시 누적합은 NaN이 됩니다.

A = [3 5 NaN 9 0 NaN];
B = cumsum(A)
B = 1×6

     3     8   NaN   NaN   NaN   NaN

'omitnan' 옵션을 사용하여 누적합 계산에서 NaN 값을 무시할 수 있습니다.

B = cumsum(A,'omitnan')
B = 1×6

     3     8     8    17    17    17

입력 인수

모두 축소

입력 배열로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다.

데이터형: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
복소수 지원 여부:

연산을 수행할 차원으로, 양의 정수 스칼라로 지정됩니다. 차원을 지정하지 않을 경우 디폴트 값은 크기가 1보다 큰 첫 번째 배열 차원이 됩니다.

2차원 입력 배열 A가 있다고 가정하겠습니다.

  • cumsum(A,1)A의 열에 있는 연속된 요소에 대해 동작을 수행하고 각 열의 누적합을 반환합니다.

  • cumsum(A,2)A의 행에 있는 연속된 요소에 대해 동작을 수행하고 각 행의 누적합을 반환합니다.

dimndims(A)보다 큰 경우 cumsumA를 반환합니다.

누적 방향으로, 'forward'(디폴트 값) 또는 'reverse'로 지정됩니다.

  • 'forward'는 활성 차원의 1에서 end 방향으로 동작합니다.

  • 'reverse'는 활성 차원의 end에서 1 방향으로 동작합니다.

데이터형: char

NaN 조건으로, 다음 중 하나로 지정됩니다.

  • 'includenan' — 누적합을 계산할 때 입력값의 NaN 값을 포함시키며 출력값에 NaN 값을 반환합니다.

  • 'omitnan' — 입력값의 모든 NaN 값을 무시합니다. NaN 값을 포함하는 요소의 합은 NaN이 아닌 요소의 합입니다. 모든 요소가 NaN인 경우 cumsum은 0을 반환합니다.

데이터형: char

출력 인수

모두 축소

누적합 배열로, 입력 배열 A와 크기가 같은 벡터, 행렬, 다차원 배열 중 하나로 반환됩니다.

Alogical형이고 Bdouble형인 경우를 제외하면 B의 클래스는 A의 클래스와 동일합니다.

세부 정보

모두 축소

첫 번째 비한원소(Nonsingleton) 차원

첫 번째 비한원소(Nonsingleton) 차원은 배열에서 크기가 1이 아닌 첫 번째 차원입니다.

예를 들면 다음과 같습니다.

  • X가 1×n 행 벡터인 경우 두 번째 차원은 X의 첫 번째 비한원소(Nonsingleton) 차원입니다.

  • X가 1×0×n 빈 배열인 경우 두 번째 차원은 X의 첫 번째 비한원소(Nonsingleton) 차원입니다.

  • X가 1×1×3 배열인 경우 세 번째 차원은 X의 첫 번째 비한원소(Nonsingleton) 차원입니다.

  • 'reverse' 옵션은 MATLAB®의 많은 누적 함수에서 지원됩니다. 이 옵션을 사용하면 입력 배열을 뒤집거나 반사하지 않고도 방향 계산을 빠르게 수행할 수 있습니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | | | |