exponenta event banner

сумма

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

Описание

пример

S = sum(A) возвращает сумму элементов 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

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

Создайте массив 3-D с элементами 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