Contenu principal

sum

Somme des éléments d’un tableau

Description

S = sum(A) renvoie la somme des éléments de A le long de la première dimension du tableau dont la taille n’est pas égale à 1.

  • Si A est un vecteur, sum(A) renvoie la somme des éléments.

  • Si A est une matrice, sum(A) renvoie un vecteur ligne contenant la somme de chaque colonne.

  • Si A est un tableau multidimensionnel, sum(A) opère le long de la première dimension du tableau dont la taille n’est pas égale à 1 en traitant les éléments comme des vecteurs. La taille de S dans cette dimension devient 1 tandis que les tailles de toutes les autres dimensions restent identiques à celles de A.

  • Si A est une table ou une timetable, sum(A) renvoie une table à une seule ligne contenant la somme de chaque variable. (depuis R2023a)

exemple

S = sum(A,"all") renvoie la somme de tous les éléments de A.

exemple

S = sum(A,dim) renvoie la somme le long de la dimension dim. Par exemple, si A est une matrice, sum(A,2) renvoie un vecteur colonne contenant la somme de chaque ligne.

exemple

S = sum(A,vecdim) additionne les éléments de A en fonction des dimensions spécifiées dans le vecteur vecdim. Par exemple, si A est une matrice, sum(A,[1 2]) renvoie la somme de tous les éléments de A, car chaque élément d’une matrice est contenu dans la tranche de tableau définie par les dimensions 1 et 2.

exemple

S = sum(___,outtype) renvoie la somme avec le type de données spécifié en utilisant n’importe quel argument en entrée des syntaxes précédentes. outtype peut être "default", "double" ou "native".

exemple

S = sum(___,nanflag) spécifie s’il faut inclure ou omettre les valeurs NaN dans A. Par exemple, sum(A,"omitnan") ignore les valeurs NaN lors du calcul de la somme. Par défaut, sum inclut les valeurs NaN.

exemple

Exemples

réduire tout

Créez un vecteur et calculez la somme de ses éléments.

A = 1:10;
S = sum(A)
S = 
55

Créez une matrice et calculez la somme des éléments de chaque colonne.

A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3

     1     3     2
     4     2     5
     6     1     4

S = sum(A)
S = 1×3

    11     6    11

Créez une matrice et calculez la somme des éléments de chaque ligne.

A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3

     1     3     2
     4     2     5
     6     1     4

S = sum(A,2)
S = 3×1

     6
    11
    11

Utilisez un argument de dimension de vecteur pour traiter des tranches spécifiques d’un tableau.

Créez un tableau 3D dont les éléments sont des 1.

A = ones(4,3,2);

Pour additionner tous les éléments de chaque page de A, spécifiez les dimensions pour lesquelles calculer la somme (ligne et colonne) avec un argument de dimension de vecteur. Comme les deux pages sont une matrice de uns de 4 x 3, la somme de chaque page est égale à 12.

S1 = sum(A,[1 2])
S1 = 
S1(:,:,1) =

    12


S1(:,:,2) =

    12

Si vous découpez A le long de la première dimension, vous pouvez additionner les éléments des 4 pages résultantes qui sont chacune des matrices de 3 x 2.

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

     6
     6
     6
     6

Avec un découpage le long de la deuxième dimension, la somme de chaque page s’effectue sur une matrice de 4 x 2.

S3 = sum(A,[1 3])
S3 = 1×3

     8     8     8

Pour calculer la somme sur toutes les dimensions d’un tableau, vous pouvez soit spécifier chaque dimension dans l’argument de dimension de vecteur, soit utiliser l’option "all".

S4 = sum(A,[1 2 3])
S4 = 
24
Sall = sum(A,"all")
Sall = 
24

Créez un tableau de uns de 4 x 2 x 3 et calculez la somme le long de la troisième dimension.

A = ones(4,2,3);
S = sum(A,3)
S = 4×2

     3     3
     3     3
     3     3
     3     3

Créez un vecteur de nombres entiers de 32 bits et calculez la somme int32 de ses éléments en spécifiant le type de sortie native.

A = int32(1:10);
S = sum(A,"native")
S = int32

55

Créez une matrice contenant les valeurs NaN.

A = [1.77 -0.005 NaN -2.95; NaN 0.34 NaN 0.19]
A = 2×4

    1.7700   -0.0050       NaN   -2.9500
       NaN    0.3400       NaN    0.1900

Calculez la somme de la matrice en excluant les valeurs NaN. Pour les colonnes de la matrice qui contiennent une valeur NaN, sum procède au calcul avec les éléments non NaN. Pour les colonnes de matrice qui contiennent uniquement des valeurs NaN, la somme est 0.

S = sum(A,"omitnan")
S = 1×4

    1.7700    0.3350         0   -2.7600

Arguments d'entrée

réduire tout

Tableau en entrée, spécifié sous forme de vecteur, de matrice, de tableau multidimensionnel, de table ou de timetable.

  • Si A est un scalaire, sum(A) renvoie A.

  • Si A est une matrice vide de 0 x 0, alors sum(A) renvoie 0.

Types de données : single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | duration | table | timetable
Support des nombres complexes : Oui

Dimension sur laquelle opérer, spécifiée en tant que scalaire entier positif. Si vous ne spécifiez pas la dimension, la valeur par défaut est la première dimension de tableau dont la taille n’est pas égale à 1.

La dimension dim indique la dimension dont la longueur est réduite à 1. size(S,dim) équivaut à 1, tandis que toutes les autres dimensions restent inchangées.

Prenez A, un tableau en entrée à deux dimensions :

  • sum(A,1) traite les éléments successifs des colonnes de A et renvoie un vecteur ligne des sommes de chaque colonne.

    sum(A,1) column-wise computation.

  • sum(A,2) traite les éléments successifs des lignes de A et renvoie un vecteur colonne des sommes de chaque ligne.

    sum(A,2) row-wise computation.

sum renvoie A lorsque dim est supérieure à ndims(A) ou lorsque size(A,dim) équivaut à 1.

Types de données : double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Vecteur de dimensions, spécifié sous forme de vecteur de nombres entiers positifs. Chaque élément représente une dimension du tableau en entrée. Les longueurs de la sortie dans les dimensions de fonctionnement spécifiées sont de 1, tandis que les autres restent inchangées.

Prenez A, un tableau d’entrée de 2 x 3 x 3. sum(A,[1 2]) renvoie alors un tableau de 1 x 1 x 3 dont les éléments correspondent aux sommes de chaque page de A.

sum(A,[1 2]) collapses the pages of a 2-by-3-by-3 array into a 1-by-1-by-3 array.

Types de données : double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Type de données en sortie, spécifié comme "default", "double" ou "native". Ces options spécifient également le type de données dans lequel l’opération est effectuée.

outtypeType de données en sortie
"default"double, sauf si le type de données en entrée est single, duration, table ou timetable, auquel cas la sortie est "native"
"double"double, sauf si le type de données en entrée est duration, table ou timetable, auquel cas "double" n’est pas supporté
"native"Même type de données qu’en entrée, sauf si le type de données en entrée est char, auquel cas "native" n’est pas supporté, ou sauf si le type de données en entrée est timetable, auquel cas le type de données en sortie est table

Condition de valeur manquante, spécifiée sous forme d’une des valeurs suivantes :

  • "includemissing" ou "includenan" : inclut les valeurs NaN dans A lors du calcul de la somme. Si un élément de la dimension sur laquelle l’opération est réalisée est NaN, l’élément correspondant dans S est NaN. "includemissing" et "includenan" ont le même comportement.

  • "omitmissing" ou "omitnan" : ignore les valeurs NaN dans A et calcule la somme sur un nombre réduit de points. Si tous les éléments de la dimension sur laquelle l’opération est réalisée sont NaN, l’élément correspondant dans S est 0. "omitmissing" et "omitnan" ont le même comportement.

Capacités étendues

développer tout

Historique des versions

Introduit avant R2006a

développer tout

Voir aussi

| | |