сумма

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

Синтаксис

S= sum (A)
S= sum ( A, dim)
S = sum (___ , type )

Описание

пример

S= sum (A) возвращает сумму по различным измерениям массива fi A.

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

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

Если A является многомерным массивом, sum(A) обрабатывает значения по первому неодноэлементному измерению как векторы, возвращая массив векторов - строк.

пример

S= sum ( A, dim) суммы по измерению dim A.

пример

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

  • Если type является 'double', то sum возвращает массив с двойной точностью, независимо от типа входных данных.

  • Если type является 'native', то sum возвращает массив с тем же классом входного массива A.

Объект fimath используется в вычислении суммы. Если SumMode является FullPrecision, KeepLSB или KeepMSB, то количеством целочисленных битов роста для sum(A) является ceil(log2(size(A,dim))).

sum не поддерживает объекты fi типа данных Boolean.

Примеры

свернуть все

Создайте вектор fi и задайте свойства fimath в конструкторе.

A=fi([1 2 5 8 5], 'SumMode', 'KeepLSB', 'SumWordLength', 32)
A = 
     1     2     5     8     5

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 11

        RoundingMethod: Nearest
        OverflowAction: Saturate
           ProductMode: FullPrecision
               SumMode: KeepLSB
         SumWordLength: 32
         CastBeforeSum: true

Вычислите сумму элементов A.

S=sum(A)
S = 
    21

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 32
        FractionLength: 11

        RoundingMethod: Nearest
        OverflowAction: Saturate
           ProductMode: FullPrecision
               SumMode: KeepLSB
         SumWordLength: 32
         CastBeforeSum: true

Вывод S является скаляром с заданным SumWordLength 32. FractionLength S равняется 11, потому что SumMode был установлен в KeepLSB.

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

A=fi([1 2 8;3 7 0;1 2 2])
A = 
     1     2     8
     3     7     0
     1     2     2

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 11
S=sum(A)
S = 
     5    11    10

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 18
        FractionLength: 11

MATLAB® возвращает вектор - строку с суммами каждого столбца A. WordLength S увеличился на два бита потому что ceil(log2(size(A,1)))=2. FractionLength остается то же самое, потому что настройкой по умолчанию SumMode является FullPrecision.

Вычислите сумму вдоль второго измерения (dim=2) 3х3 матричного A.

A=fi([1 2 8;3 7 0;1 2 2])
A = 
     1     2     8
     3     7     0
     1     2     2

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 11
S=sum(A, 2)
S = 
    11
    10
     5

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 18
        FractionLength: 11

MATLAB® возвращает вектор-столбец сумм элементов в каждой строке. WordLength S равняется 18 потому что ceil(log2(size(A,2)))=2.

Вычислите суммы столбцов A так, чтобы выходной массив, S, имел совпадающий тип данных.

A=fi([1 2 8;3 7 0;1 2 2]), class(A)
A = 
     1     2     8
     3     7     0
     1     2     2

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 11
ans = 
'embedded.fi'
S=sum(A, 'native'), class(S)
S = 
     5    11    10

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 18
        FractionLength: 11
ans = 
'embedded.fi'

MATLAB® сохраняет тип данных A и возвращает вектор - строку S типа embedded.fi.

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

свернуть все

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

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

Поддержка комплексного числа: Да

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

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

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

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

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

свернуть все

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

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

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

| | | | | | | | |

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