prod

Product of array elements

Syntax

B = prod(A)

B = prod(A,dim)

​B = prod(___,type)​

​B = prod(___,nanflag)​

Description

​B​​ = prod(​​A​​)​​​ returns the product of the array elements of ​​A​​.

  • If ​​A​​ is a vector, then ​​prod(A)​​ returns the product of the elements.
  • If ​​A​​ is a nonempty matrix, then ​​prod(A)​​ treats the columns of ​​A​​ as vectors and returns a row vector of the products of each column.
  • If ​​A​​ is an empty 0-by-0 matrix, ​​prod(A)​​ returns ​​1​​.
  • If ​​A​​ is a multidimensional array, then ​​prod(A)​​ acts along the first nonsingleton dimension and returns an array of products. The size of this dimension reduces to ​​1​​ while the sizes of all other dimensions remain the same.


​B​​ = prod(​​A​​) 返回A的数组元素的乘积。

如果A是向量,则prod(A)返回元素的乘积。

如果A是非空矩阵,那么prod(A)将A的列视为向量并返回每列乘积的行向量。

如果A是空的0乘0矩阵,则prod(A)返回1。

如果A是多维数组,那么prod(A)沿着第一个非单体维度行动并返回一个产品数组。 此尺寸的尺寸减小到1,而所有其他尺寸的尺寸保持不变。



First Nonsingleton Dimension

The first nonsingleton dimension is the first dimension of an array whose size is not equal to ​​1​​.

第一个非单体维度是数组的第一个维度,其大小不等于1。

For example:

  • 如果X是1乘n的行向量,则第二个维度是X的第一个非单独维度。
  • 如果X是1乘0乘n的空数组,则第二维是X的第一个非单体维数。
  • 如果X是1乘1乘3的数组,则第三维是X的第一个非单体维数。

     

​当输入A为single类型时,prod计算并返回B为single。 对于所有其他数字和逻辑数据类型,prod计算并将B返回为double。​

​B = prod(A,dim)沿维度dim返回产品。 例如,如果A是矩阵,则prod(A,2)是包含每行的乘积的列向量。​


​B = prod(___,type)使用前面语法中的任何输入参数返回类型指定的类中的数组。 type可以是'double','native'或'default'。​


​B = prod(___,nanflag)指定是否在计算中包含或省略任何先前语法的NaN值.prod(A,'includenan')包括计算中的NaN值,而prod(A,'omitnan')忽略 他们。​



Product of Elements in Each Column

Create a 3-by-3 array whose elements correspond to their linear indices.

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

1 4 7
2 5 8
3 6 9

Find the product of the elements in each column. The length of the first dimension is 1, and the length of the second dimension matches ​​size(A,2)​​.


查找每列中元素的乘积。 第一个维度的长度为1,第二个维度的长度与 ​​size(A,2)​​匹配。


B = prod(A)
B = 1×3

6 120 504

Product of Logical Input

Create an array of logical values.

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

1 0
1 1

Find the product of the elements in each column.

B = prod(A)
B = 1×2

1 0

The output has type ​​double​​.

class(B)
ans = 
'double'

Product of Elements in Each Row


Create a 3-by-3 array whose elements correspond to their linear indices.

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

1 4 7
2 5 8
3 6 9

Find the product of the elements in each row and reduce the length of the second dimension to 1. The length of the first dimension matches ​​size(A,1)​​, and the length of the second dimension is 1.

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

28
80
162

Product of Elements in Each Plane

Create a 3-by-3-by-2 array whose elements correspond to their linear indices.

A=[1:3:7;2:3:8;3:3:9];
A(:,:,2)=[10:3:16;11:3:17;12:3:18]
A = 
A(:,:,1) =

1 4 7
2 5 8
3 6 9


A(:,:,2) =

10 13 16
11 14 17
12 15 18

Find the product of each element in the first plane with its corresponding element in the second plane. The length of the first dimension matches ​​size(A,1)​​​, the length of the second dimension matches ​​size(A,2)​​, and the length of the third dimension is 1.

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

10 52 112
22 70 136
36 90 162

Single-Precision Input Treated as Double(单精度输入处理为双精度)


Create a 3-by-3 array of single-precision values.

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

1200 1500 1800
1300 1600 1900
1400 1700 2000

Find the product of the elements in each row by multiplying in double precision.

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

3.2400
3.9520
4.7600

The output is double precision.

class(B)
ans = 
'double'

Integer Data Type for Input and Output(输入和输出的整数数据类型)

Create a 3-by-3 array of 8-bit unsigned integers.

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

1 4 7
2 5 8
3 6 9

Find the product of the elements in each column natively in ​​uint8​​.

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

6 120 255

The result is an array of 8-bit unsigned integers.

class(B)
ans = 
'uint8'

【 MATLAB 】prod 函数介绍(Product of array elements)_二维


Product Excluding​​NaN​

Create a vector and compute its product, excluding ​​NaN​​​ values. If you do not specify ​​'omitnan'​​​, then ​​prod(A)​​​returns ​​NaN​​.

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