prod
Product of array elements
Syntax
B = prod(A)
B = prod(A,dim)
B = prod(___,type)
B = prod(___,nanflag)
描述
returns the product of the array elements ofB
= prod(A
)A
.
If
A
is a vector, thenprod(A)
returns the product of the elements.If
A
is a nonempty matrix, thenprod(A)
treats the columns ofA
as vectors and returns a row vector of the products of each column.If
A
is an empty 0-by-0 matrix,prod(A)
returns1
.If
A
is a multidimensional array, thenprod(A)
acts along thefirst nonsingleton dimensionand returns an array of products. The size of this dimension reduces to1
while the sizes of all other dimensions remain the same.
prod
computes and returnsB
assingle
当输入时,A
, issingle
. For all other numeric and logical data types,prod
computes and returnsB
asdouble
.
Examples
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 =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 matchessize(A,2)
.
B = prod(A)
B =6 120 504
Product of Logical Input
Create an array of logical values.
A = [true false; true true]
A =2x2 logical array1 0 1 1
Find the product of the elements in each column.
B = prod(A)
B =1 0
The output has typedouble
.
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 =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 matchessize(A,1)
, and the length of the second dimension is 1.
dim = 2; B = prod(A,dim)
B =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 matchessize(A,1)
, the length of the second dimension matchessize(A,2)
, and the length of the third dimension is 1.
dim = 3; B = prod(A,dim)
B =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 matrix1200 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 =1.0e+09 * 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 matrix1 4 7 2 5 8 3 6 9
Find the product of the elements in each column natively inuint8
.
B = prod(A,'native')
B =1x3 uint8 row vector6 120 255
The result is an array of 8-bit unsigned integers.
class(B)
ans = 'uint8'
Product ExcludingNaN
Create a vector and compute its product, excludingNaN
values. If you do not specify'omitnan'
, thenprod(A)
returnsNaN
.
A = [1 3 2 4 NaN 3 NaN 2]; P = prod(A,'omitnan')
P= 144
Input Arguments
A
—Input array
vector|matrix|multidimensional array
Input array, specified as a vector, matrix, or multidimensional array.
Data Types:double
|single
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|logical
Complex Number Support:Yes
dim
—Dimension to operate along
positive integer scalar
Dimension to operate along, specified as a positive integer scalar. If no value is specified, then the default is the first array dimension whose size does not equal 1.
Dimensiondim
indicates the dimension whose length reduces to1
. Thesize(B,dim)
is1
, while the sizes of all other dimensions remain the same.
Consider a two-dimensional input array,A
.
If
dim = 1
, thenprod(A,1)
returns a row vector containing the product of the elements in each column.If
dim = 2
, thenprod(A,2)
returns a column vector containing the product of the elements in each row.
prod
returnsA
whendim
is greater thanndims(A)
.
Data Types:double
|single
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
type
—Output class
'default'
(default) |'double'
|'native'
Output class, specified as'default'
,'double'
, or'native'
, and which defines the data type of the output,B
.
type |
Output data type |
---|---|
'default' |
double , unless the input data type issingle . In which case, the output data type issingle . |
'double' |
double |
'native' |
same data type as the input array,A |
nanflag
—NaN
condition
'includenan'
(default) |'omitnan'
NaN
condition, specified as one of these values:
'includenan'
— IncludeNaN
values from the input when computing the product, resulting inNaN
output.'omitnan'
— IgnoreNaN
values in the input. If all elements areNaN
, thenprod
returns 1.
Output Arguments
B
— Product array
scalar | vector | matrix | multidimensional array
Product array, returned as a scalar, vector, matrix, or multidimensional array.
The class ofB
is as follows:
If the
type
argument specifies'default'
or is not usedand the input is not
single
, then the output isdouble
.and the input is
single
, then the output issingle
.
If the
type
argument specifies'double'
, then the output isdouble
regardless of the input data type.If the
type
argument specifies'native'
, then the output is the same data type as the input.
More About
First Nonsingleton Dimension
The first nonsingleton dimension is the first dimension of an array whose size is not equal to1
.
For example:
If
X
is a 1-by-n row vector, then the second dimension is the first nonsingleton dimension ofX
.If
X
is a 1-by-0-by-n empty array, then the second dimension is the first nonsingleton dimension ofX
.If
X
is a 1-by-1-by-3 array, then the third dimension is the first nonsingleton dimension ofX
.
Extended Capabilities
Tall Arrays
Calculate with arrays that have more rows than fit in memory.
This function fully supports tall arrays. For more information, seeTall Arrays.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
If you supply
dim
, it must be a constant.SeeVariable-Sizing Restrictions for Code Generation of Toolbox Functions(MATLAB Coder).
Introduced before R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
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)
- 美国(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)