sum

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

Описание

пример

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

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

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

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

пример

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

пример

S = sum(___,type) возвращает массив в классе, заданном как type.

Примеры

свернуть все

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

A=fi([1 2 5 8 5], 'SumMode', 'KeepLSB', 'SumWordLength', 32)
A=1×5 object
     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. The FractionLength от S равно 11, потому что SumMode установлено значение KeepLSB.

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

A=fi([1 2 8;3 7 0;1 2 2])
A=3×3 object
     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=1×3 object
     5    11    10

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

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

Вычислите сумму по второму измерению (dim=2) матрицы 3 на 3 A.

A=fi([1 2 8;3 7 0;1 2 2])
A=3×3 object
     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=3×1 object
    11
    10
     5

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

MATLAB ® возвращает вектор-столбец с суммами элементов в каждой строке. The 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=3×3 object
     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=1×3 object
     5    11    10

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

ans = 
'embedded.fi'

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

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

свернуть все

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

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

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

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

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

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

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

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

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

свернуть все

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

Примечание

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

Ограничения

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

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

.

Генерация HDL-кода
Сгенерируйте Verilog и VHDL код для FPGA и ASIC проектов с использованием HDL- Coder™.

См. также

| | | | | | | | |

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