sum

Сумма элементов массива

Описание

пример

S = sum(A) возвращает сумму элементов массива вдоль первого измерения массива, размер которого не равняется 1.

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

  • Если A матрица, затем sum(A) возвращает вектор-строку, содержащий сумму каждого столбца.

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

пример

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

пример

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

пример

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

пример

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

пример

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

Примеры

свернуть все

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

A = 1:10;
S = sum(A)
S = 55

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

A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3

     1     3     2
     4     2     5
     6     1     4

S = sum(A)
S = 1×3

    11     6    11

Создайте матрицу и вычислите сумму элементов в каждой строке.

A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3

     1     3     2
     4     2     5
     6     1     4

S = sum(A,2)
S = 3×1

     6
    11
    11

Используйте векторный аргумент размерности, чтобы работать с определенными срезами массива.

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

A = ones(4,3,2);

Суммировать все элементы на каждой странице A, задайте размерности, в которых можно суммировать (строка и столбец) с помощью векторного аргумента размерности. Поскольку обе страницы 4 3 матрица из единиц, сумма каждой страницы равняется 12.

S1 = sum(A,[1 2])
S1 = 
S1(:,:,1) =

    12


S1(:,:,2) =

    12

Если вы нарезаете A по первому измерению можно суммировать элементы получившихся 4 страниц, которые являются каждым 3 2 матрицы.

S2 = sum(A,[2 3])
S2 = 4×1

     6
     6
     6
     6

Режущий вдоль второго измерения, каждая сумма страницы по 4 2 матрица.

S3 = sum(A,[1 3])
S3 = 1×3

     8     8     8

Начиная в R2018b, суммировать по всем размерностям массива, можно или задать каждую размерность в векторном аргументе размерности или использовать 'all' опция.

S4 = sum(A,[1 2 3])
S4 = 24
Sall = sum(A,'all')
Sall = 24

Создайте 4 2 3 массивами из единиц и вычислите сумму по третьему измерению.

A = ones(4,2,3);
S = sum(A,3)
S = 4×2

     3     3
     3     3
     3     3
     3     3

Создайте вектор из 32-битных целых чисел и вычислите int32 сумма его элементов путем определения выходного типа как native.

A = int32(1:10);
S = sum(A,'native')
S = int32
    55

Создайте вектор и вычислите его сумму, исключая NaN значения.

A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19];
S = sum(A,'omitnan')
S = 3.3250

Если вы не задаете 'omitnan', затем sum(A) возвращает NaN.

Входные параметры

свернуть все

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

  • Если A скаляр, затем sum(A) возвращает A.

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | duration
Поддержка комплексного числа: Да

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

Размерность dim указывает на размерность, длина которой уменьшает до 1. size(S,dim) 1, в то время как размеры всех других размерностей остаются то же самое.

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

  • sum(A,1) работает с последовательными элементами в столбцах A и возвращает вектор-строку из сумм каждого столбца.

  • sum(A,2) работает с последовательными элементами в строках A и возвращает вектор-столбец сумм каждой строки.

sum возвращает A когда dim больше ndims(A) или когда size(A,dim) 1.

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

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

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

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

Выходные данные вводят в виде 'default''double', или 'native'. Эти опции также задают тип данных, в котором выполняется операция.

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

Типы данных: char

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

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

  • 'omitnan' — Проигнорируйте весь NaN значения во входе.

Типы данных: char

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

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

| | |

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