exponenta event banner

напоминание

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

Описание

пример

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

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

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

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

  • Если A является многомерным массивом, то prod(A) действует вдоль первого измерения nonsingleton и возвращает массив продуктов. Размер этого измерения уменьшается до 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

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

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'

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

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', то выходные данные имеют тот же тип данных, что и входные данные.

Подробнее

свернуть все

Первое измерение Nonsingleton

Первое несинглтоновое измерение - это первое измерение массива, размер которого не равен 1.

Например:

  • Если X является вектором строки 1 на n, затем второе измерение является первым несинглтонным измерением X.

  • Если X является пустым массивом 1-на-0-на-n, затем второе измерение является первым несинглтоновым измерением X.

  • Если X множество 1 на 1 на 3, тогда третье измерение - первое измерение неединичного предмета X.

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

..

См. также

| | |

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