이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

prod

배열 요소의 곱

구문

B = prod(A)
B = prod(A,'all')
B = prod(A,dim)
B = prod(A,vecdim)
B = prod(___,type)
B = prod(___,nanflag)

설명

예제

B = prod(A)A의 배열 요소의 곱을 반환합니다.

  • A가 벡터인 경우 prod(A)는 요소의 곱을 반환합니다.

  • A가 비어 있지 않은 행렬인 경우 prod(A)A의 열을 벡터로 취급하고 각 열의 곱으로 구성된 행 벡터를 반환합니다.

  • A가 빈 0x0 행렬인 경우 prod(A)1을 반환합니다.

  • A가 다차원 배열인 경우 prod(A)첫 번째 비한원소(Nonsingleton) 차원을 따라 동작을 수행하고 곱의 배열을 반환합니다. 이 차원의 크기는 1로 줄어들고 다른 모든 차원의 크기는 변경되지 않습니다.

prod는 입력값 Asingle형이면 계산 수행 후 Bsingle형으로 반환합니다. 그 외 모든 숫자 데이터형과 논리형 데이터에 대해서 prodB를 계산 수행 후 double형으로 반환합니다.

예제

B = prod(A,'all')A의 모든 요소의 곱을 구합니다.

예제

B = prod(A,dim)은 차원 dim을 따라 곱을 반환합니다. 예를 들어, A가 행렬인 경우 prod(A,2)는 각 행의 곱이 포함된 열 벡터입니다.

예제

B = prod(A,vecdim)은 벡터 vecdim에 지정된 차원을 기준으로 곱을 구합니다. 예를 들어, A가 행렬인 경우 prod(A,[1 2])는 차원 1과 2로 정의된 배열 슬라이스에 행렬의 모든 요소가 포함되어 있으므로 A의 모든 요소의 곱이 됩니다.

예제

B = prod(___,type)는 이전 구문의 입력 인수를 사용하여, type으로 지정된 클래스의 배열을 반환합니다. type'double', 'native' 또는 'default'일 수 있습니다.

예제

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

예제

모두 축소

요소가 선형 인덱스에 대응하는 3x3 배열을 만듭니다.

A=[1:3:7;2:3:8;3:3:9]
A = 3×3

     1     4     7
     2     5     8
     3     6     9

각 열 요소의 곱을 구합니다. 첫 번째 차원 길이는 1이고 두 번째 차원 길이는 size(A,2)와 일치합니다.

B = prod(A)
B = 1×3

     6   120   504

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

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

   1   0
   1   1

각 열 요소의 곱을 구합니다.

B = prod(A)
B = 1×2

     1     0

출력값은 double형입니다.

class(B)
ans = 
'double'

요소가 선형 인덱스에 대응하는 3x3 배열을 만듭니다.

A=[1:3:7;2:3:8;3:3:9]
A = 3×3

     1     4     7
     2     5     8
     3     6     9

각 행 요소의 곱을 구하고 두 번째 차원의 길이를 1로 줄입니다. 첫 번째 차원 길이는 size(A,1)과 일치하고 두 번째 차원 길이는 1입니다.

dim = 2;
B = prod(A,dim)
B = 3×1

    28
    80
   162

3차원 배열을 만들고 데이터의 각 페이지(행과 열)에 대한 곱을 구합니다.

A(:,:,1) = [2 4; -2 1];
A(:,:,2) = [1 2; -5 3];
A(:,:,3) = [4 4; 1 -3];
B1 = prod(A,[1 2])
B1 = 
B1(:,:,1) =

   -16


B1(:,:,2) =

   -30


B1(:,:,3) =

   -48

배열의 모든 차원에 대한 곱을 구하려면 벡터 차원 인수에서 각 차원을 지정할 수도 있고 'all' 옵션을 사용할 수도 있습니다.

B2 = prod(A,[1 2 3])
B2 = -23040
Ball = prod(A,'all')
Ball = -23040

단정밀도 값으로 구성된 3x3 배열을 만듭니다.

A = single([1200 1500 1800; 1300 1600 1900; 1400 1700 2000])
A = 3x3 single matrix

        1200        1500        1800
        1300        1600        1900
        1400        1700        2000

배정밀도로 곱하여 각 행의 요소 곱을 구합니다.

B = prod(A,2,'double')
B = 3×1
109 ×

    3.2400
    3.9520
    4.7600

출력값은 배정밀도입니다.

class(B)
ans = 
'double'

8비트 부호 없는 정수로 구성된 3x3 배열을 만듭니다.

A = uint8([1:3:7;2:3:8;3:3:9])
A = 3x3 uint8 matrix

   1   4   7
   2   5   8
   3   6   9

데이터형을 uint8로 유지하여 각 열에 있는 요소의 곱을 구합니다.

B = prod(A,'native')
B = 1x3 uint8 row vector

     6   120   255

결과는 8비트 부호 없는 정수로 구성된 배열입니다.

class(B)
ans = 
'uint8'

벡터를 만든 다음, NaN 값을 제외한 벡터 요소의 곱을 구합니다. 'omitnan'을 지정하지 않으면 prod(A)NaN을 반환합니다.

A = [1 3 2 4 NaN 3 NaN 2];
P = prod(A,'omitnan')
P = 144

입력 인수

모두 축소

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

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

함수 동작이 수행될 차원으로, 양의 정수 스칼라로 지정됩니다. 값이 지정되지 않은 경우 디폴트 값은 크기가 1이 아닌 첫 번째 배열 차원이 됩니다.

차원 dim은 길이가 1로 줄어드는 차원을 나타냅니다. size(B,dim)1이 되고, 다른 모든 차원의 크기는 변경되지 않습니다.

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

  • dim = 1인 경우 prod(A,1)은 각 열에 있는 요소의 곱이 포함된 행 벡터를 반환합니다.

  • dim = 2인 경우 prod(A,2)는 각 행에 있는 요소의 곱이 포함된 열 벡터를 반환합니다.

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

데이터형: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

차원의 벡터로, 양의 정수의 벡터로 지정됩니다. 각 요소는 입력 배열의 차원을 나타냅니다. 지정된 연산 중인 차원의 출력값의 길이는 1이고, 다른 모든 차원의 길이는 변경되지 않습니다.

2x3x3 입력 배열 A가 있다고 가정하겠습니다. 이때 prod(A,[1 2])A의 각 페이지의 곱을 요소로 갖는 1x1x3 배열을 반환합니다.

데이터형: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

출력값 클래스로, 'default', 'double' 또는 'native'로 지정되며 출력값 B의 데이터형을 정의합니다.

type출력 데이터형
'default'입력 데이터형이 single이 아니면 double입니다. 이 경우 출력 데이터형은 single입니다.
'double'double
'native'입력 배열 A와 동일한 데이터형.

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

  • 'includenan' — 곱을 계산할 때 입력값의 NaN 값을 포함하여, 결과적으로 NaN 출력값을 생성합니다.

  • 'omitnan' — 입력값의 NaN 값을 무시합니다. 모든 요소가 NaN인 경우 prod는 1을 반환합니다.

출력 인수

모두 축소

곱 배열로, 스칼라, 벡터, 행렬, 다차원 배열 중 하나로 반환됩니다.

B 클래스는 다음과 같습니다.

  • type 인수가 'default'를 지정하거나 사용되지 않는 경우,

    • 입력값이 single이 아니면 출력값이 double입니다.

    • 입력값이 single이면 출력값이 single입니다.

  • type 인수가 'double'을 지정하면 입력 데이터형에 상관 없이 출력값이 double입니다.

  • type 인수가 'native'를 지정하면 출력값이 입력값과 같은 데이터형입니다.

세부 정보

모두 축소

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

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

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

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

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

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

확장 기능

참고 항목

| | |

R2006a 이전에 개발됨