prod

Произведение элементов массива

Описание

пример

B = prod(A) возвращает продукт элементов массива A.

  • Если A вектор, затем prod(A) возвращает продукт элементов.

  • Если A непустая матрица, затем prod(A) обрабатывает столбцы A как векторы и возвращает вектор-строку из продуктов каждого столбца.

  • Если A пустая матрица 0 на 0, prod(A) возвращает 1.

  • Если A многомерный массив, затем prod(A) действия по первому неодноэлементному измерению и возвращают массив продуктов. Размер этой размерности уменьшает до 1 в то время как размеры всех других размерностей остаются то же самое.

prod вычисляет и возвращает B как single когда вход, A, single. Для всех других типов числовых данных и логических типов данных, prod вычисляет и возвращает B как double.

пример

B = prod(A,'all') вычисляет продукт всех элементов A. Этот синтаксис допустим для MATLAB® версии R2018b и позже.

пример

B = prod(A,dim) возвращает продукты по измерению dim. Например, если A матрица, prod(A,2) вектор-столбец, содержащий продукты каждой строки.

пример

B = prod(A,vecdim) вычисляет продукт на основе размерностей, заданных в векторном vecdim. Например, если A матрица, затем prod(A,[1 2]) продукт всех элементов в A, поскольку каждый элемент матрицы содержится в срезе массивов, заданном размерностями 1 и 2.

пример

B = prod(___,outtype) возвращает массив в классе, заданном outtype, использование любого из входных параметров в предыдущих синтаксисах. outtype может быть 'double', 'native', или 'default'.

пример

B = prod(___,nanflag) задает, включать ли или не использовать NaN значения от вычисления для любого из предыдущих синтаксисов. prod(A,'includenan') включает NaN значения в вычислении, в то время как prod(A,'omitnan') игнорирует их.

Примеры

свернуть все

Создайте массив 3х3, элементы которого соответствуют своим линейным индексам.

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'

Создайте массив 3х3, элементы которого соответствуют своим линейным индексам.

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

Создайте трехмерный массив и вычислите продукт по каждой странице данных (строки и столбцы).

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

Создайте массив 3х3 значений с одинарной точностью.

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'

Создайте массив 3х3 8-битного беззнакового целого.

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, в то время как размеры всех других размерностей остаются то же самое.

Рассмотрите двумерный входной массив, A.

  • Если dim = 1, затем prod(A,1) возвращает вектор-строку, содержащий продукт элементов в каждом столбце.

  • Если dim = 2, затем prod(A,2) возвращает вектор-столбец, содержащий продукт элементов в каждой строке.

prod возвращает A когда dim больше ndims(A).

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Вектор из размерностей в виде вектора из положительных целых чисел. Каждый элемент представляет размерность входного массива. Продолжительности выхода в заданных операционных размерностях равняются 1, в то время как другие остаются то же самое.

Рассмотрите 2 3х3 входным массивом, A. Затем prod(A,[1 2]) возвращает 1 1 3 массивами, элементами которых являются продукты каждой страницы A.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходной класс в виде 'default''double', или 'native', и который задает тип данных выхода, B.

outtypeТип выходных данных
'default'double, если типом входных данных не является single. В этом случае типом выходных данных является single.
'double'double
'native'совпадающий тип данных как входной массив, A

NaN условие в виде одного из этих значений:

  • 'includenan' — Включайте NaN значения от входа при вычислении продукта, приведении к NaN вывод .

  • 'omitnan' — Проигнорируйте NaN значения во входе. Если всеми элементами является NaN, затем prod возвращается 1.

Выходные аргументы

свернуть все

Вычисленный массив, возвращенный как скаляр, вектор, матрица или многомерный массив.

Класс B следующие:

  • Если outtype аргумент задает 'default' или не используется

    • и входом не является single, затем выходом является double.

    • и входом является single, затем выходом является single.

  • Если outtype аргумент задает 'double', затем выходом является double независимо от типа входных данных.

  • Если outtype аргумент задает 'native', затем выход является совпадающим типом данных как входом.

Больше о

свернуть все

Первая неодноэлементная размерность

Первая неодноэлементная размерность является первой размерностью массива, размер которого не равен 1.

Например:

  • Если X вектор-строка 1 на n, затем второе измерение является первой неодноэлементной размерностью X.

  • Если X 1 0 n пустым массивом, затем второе измерение является первой неодноэлементной размерностью X.

  • Если X 1 1 3 массивами, затем третья размерность является первой неодноэлементной размерностью X.

Расширенные возможности

Смотрите также

| | |

Представлено до R2006a