1 <?xml version="1.0" encoding="UTF-8"?>
3 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 * Copyright (C) 2010 - Serge Steer - INRIA
6 * Copyright (C) 2012 - 2016 - Scilab Enterprises
8 * This file is hereby licensed under the terms of the GNU GPL v2.0,
9 * pursuant to article 5.3.4 of the CeCILL v.2.1.
10 * This file was originally licensed under the terms of the CeCILL v2.1,
11 * and continues to be available under such terms.
12 * For more information, see the COPYING file which you should have received
13 * along with this program.
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="cumsum" xml:lang="fr">
18 <refname>cumsum</refname>
19 <refpurpose>somme cumulative des éléments d'un tableau.</refpurpose>
22 <title>Séquence d'appel</title>
24 y=cumsum(x,orientation)
26 y=cumsum(x,orientation,outtype)
30 <refsection role="parameters">
31 <title>Paramètres</title>
36 <para>un tableau de réels, de complexes, de booléens, de
37 polynômes ou de fractions rationnelles.
42 <term>orientation</term>
45 Cet argument peut être
49 <para>ou une chaîne de caractères pouvant avoir comme
50 valeurs: <literal>"*"</literal>,
51 <literal>"r"</literal>, <literal>"c"</literal> ou
52 <literal>"m"</literal>
56 <para>ou bien un nombre à valeur positive entière</para>
65 une chaîne de caractères pouvant prendre les valeurs <literal>"native"</literal> ou <literal>"double"</literal>.
72 <para> un scalaire ou un tableau</para>
78 <title>Description</title>
80 Renvoie la somme cumulée des éléments d'un tableau.
81 Pour un tableau <term>x</term>,
82 <literal>y=cumsum(x)</literal> renvoie une matrice <term>y</term>
83 de la même taille que <term>x</term>.
84 La valeur <literal>y(i)</literal> est la somme de tous les éléments de <literal>x(1:i)</literal>, <emphasis role="italic">i.e.</emphasis> :
87 <latex><![CDATA[ y(i) = \sum_{k=1}^i x(k)]]></latex>
90 <literal>y=cumsum(x,orientation)</literal> retourne dans
91 <term>y</term> la somme cumulée des éléments de
92 <term>x</term> le long de la dimension donnée par le
93 paramètre <term>orientation</term>:
98 Si <term>orientation</term> est égal à 1 ou "r" alors :
101 <latex><![CDATA[ y(\mathbf{l},j) = \sum_{\mathbf{i}=1}^l x(\mathbf{i},j)]]></latex>
105 <latex><![CDATA[ y(\mathbf{l},j,k,\ldots) = \sum_{\mathbf{i}=1}^l x(\mathbf{i},j,k,\ldots)]]></latex>
110 Si <term>orientation</term> est égal à 2 ou "c" alors :
113 <latex><![CDATA[ y(i,\mathbf{l}) = \sum_{\mathbf{j}=1}^l x(i,{\mathbf{j})]]></latex>
117 <latex><![CDATA[ y(i,\mathbf{l},k,\ldots) = \sum_{\mathbf{j}=1}^l x(i,\mathbf{j},k,\ldots)]]></latex>
122 Si <term>orientation</term> est égal à n alors :
125 <latex><![CDATA[ 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)]]></latex>
130 <literal>y=cumsum(x,"*")</literal> est équivalent à <literal>y=cumsum(x)</literal>
135 <literal>y=cumsum(x,"m")</literal> est équivalent à
136 <literal>y=cumsum(x,orientation)</literal> où
137 <term>orientation</term> est l'index de la première
138 dimension de <term>x</term> qui est plus grande que
139 1. Cette option est utilisé pour la compatibilité avec Matlab.
144 L'argument <term>outtype</term> gère la façon dont le produit est réalisé :
148 <para>Pour les matrices de doubles, de polynômes, de fractions rationnelles,
149 l'évaluation est toujours effetuée sur des nombres à virgule flottante.
150 Les options <literal>"double"</literal> ou <literal>"native"</literal> sont équivalentes
151 (par défaut, <literal>outtype = "double"</literal>).
155 <para>Pour les tableaux d'entiers,</para>
157 si <literal>outtype="native"</literal>, le calcul est effectué sur des nombres entiers
158 (modulo 2^b, où b est le nombre de bits utilisés).
161 si <literal>outtype="double"</literal>, le calcul est effectué sur
162 des nombres à virgule flottante.
165 La valeur par défaut est <literal>outtype="native"</literal>
169 <para>Pour les tableaux de booléens,</para>
171 si <literal>outtype="native"</literal>, le calcul est effectué sur des booléens
172 (* est remplacée par &),
175 si <literal>outtype="double"</literal>, le calcul est effectué sur des nombres
176 à virgule flottante (%t est remplacé par 1 et %f par 0).
179 La valeur par défaut est <literal>outtype="double"</literal>
184 Cette fonction s'applique avec les mêmes règles aux <link linkend="sparse">matrices creuses</link> et aux hypermatrices.
188 <title>Exemples</title>
189 <programlisting role="example"><![CDATA[
194 I=uint8([2 95 103;254 9 0])
195 cumsum(I) //native evaluation
205 cumsum(B) //evaluation in float
206 cumsum(B,"native") //similar to or(B)
210 <refsection role="see also">
211 <title>Voir aussi</title>
212 <simplelist type="inline">
214 <link linkend="cumprod">cumprod</link>
217 <link linkend="sum">sum</link>