Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.0.0 - Русский


sum

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

Синтаксис

y = sum(x)
y = sum(x, outtype)
y = sum(x, orientation)
y = sum(x, orientation, outtype)

Аргументы

x
Массив логических (плотных или разреженных), закодированных целых чисел, действительных или комплексных чисел (плотных или разреженных), полиномов или рациональных чисел.

orientation
(ориентация) может быть или
  • строкой с возможными значениями "*" ("естественное"), "r", "c" или "m"

  • или целым положительным числом

outtype
строка с возможными значениями "native" ("естественное") или "double".

y
скаляр или массив

Описание

Для массива x y=sum(x) возвращает скаляр y, являющийся суммой всех элементов x.

y=sum(x,orientation) возвращает в y сумму x вдоль размерности, заданной orientation:

  • если orientation равна 1 или "r", то

    { y(\mathbf{1},j) = \sum_{\mathbf{i}} x(\mathbf{i},j)}

    или

    y(\mathbf{1},j,k,\ldots) = \sum_{\mathbf{i}} x(\mathbf{i},j,k,\ldots)

  • если orientation равна 2 или "c", то:

    y(i,\mathbf{1}) = \sum_{\mathbf{j}} x(i,\mathbf{j})

    или

    y(i,\mathbf{1},k,\ldots) = \sum_{j} x(i,\mathbf{j},k,\ldots)

  • если orientation равна n, то

    y(i_1,\ldots,i_{n-1},\mathbf{1},i_{n+1},\ldots) = \sum_{\mathbf{i_n}} x(i_1,\ldots,i_{n-1},\mathbf{i_n},i_{n+1},\ldots)

  • y=sum(x,"*") эквивалентно y=sum(x)

  • y=sum(x,"m") эквивалентно y=sum(x,orientation), где orientation является индексом первой размерности x, которая больше 1.

Аргумент outtype управляет способом, которым выполняется суммирование:

  • Для массивов чисел с плавающей запятой, полиномов, рациональных дробей вычисление всегда делается через вычисления с плавающей запятой. Опции "double" и "native" ("естественное") эквивалентны.

  • Для массивов целых чисел:

    если outtype="native" ("естественное"), то вычисление делается через целочисленные вычисления (по модулю 2^b, где b - число используемых битов);

    если outtype="double", то вычисление делается через вычисления с плавающей запятой.

    Значение по умолчанию outtype="native".

  • Для массивов логических значений:

    если outtype="native" ("естественное"), то вычисления делаются с помощью булевой алгебры (+ заменяется на |),

    если outtype="double", то вычисление делается через вычисления с плавающей запятой (значения %t заменяются на 1, а значения %f - на 0).

    Значение по умолчанию outtype="double".

Эта функция применяется с аналогичными правилами к разряжённым матрицам .

Примеры

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

I=uint8([2 95 103; 254 9 0])
sum(I) //естественное вычисление
sum(I,"double")
sum(I,2,"double")

s=poly(0,"s");
P=[s,%i+s;s^2,1];
sum(P),
sum(P,2)

B=[%t %t %f %f];
sum(B) //вычисление с плавающей запятой
sum(B,"native") //аналогично or(B)

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

  • plus — Суммирование чисел. Конкатенация текста (склейка)
  • cumsum — суммирование элементов массива с накоплением
  • prod — произведение элементов массива
Report an issue
<< signm Матричные операции Поиск и сортировка >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Mar 07 09:28:42 CET 2023