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

Change language to:
English - Français - 日本語 - Português -

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Основные функции > Матричные операции > cumsum

cumsum

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

Синтаксис

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

Аргументы

x

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

orientation

ориентация, она может быть:

  • строкой с возможными значениями: "*", "r", "c" или "m"

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

outtype

тип на выходе: строка с возможными значениями: "native" или "double".

y

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

Описание

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

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

y(i) = \sum_{k=1}^i x(k)

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

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

    или

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

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

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

    или

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This function applies with identical rules to sparse matrices

Примеры

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

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

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

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

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

  • sum — сумма элементов массива
  • cumprod — произведение элементов массива с накоплением
Report an issue
<< cumprod Матричные операции kron >>

Copyright (c) 2022-2024 (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:
Thu Feb 14 15:04:55 CET 2019