# mtlb_cumsum

Fonction d'émulation de la fonction Matlab cumsum

## Description

Dans plusieurs cas particuliers, la fonction `cumsum` se comporte différemment dans Matlab et dans Scilab :

- Avec un argument d'entrée (`cumsum(A)`) : La fonction `cumsum` de Matlab traite les valeurs suivant la première dimension qui n'est pas 1 comme des vecteurs alors que Scilab traite toutes les valeurs de A.

- Avec deux arguments d'entrée (`cumsum(A,dim)`) : Matlab tolère une valeur de `dim` supérieure au nombre de dimensions de A alors que Scilab renvoie un message d'erreur dans ce cas.

La fonction `R = mtlb_cumsum(A,[,dim])` est utilisée par `mfile2sci` pour remplacer `cumsum(A,[,dim])` quand il n'était pas possible de savoir ce qu'étaient les opérandes pendant la conversion d'un code Matlab vers Scilab. Cette fonction va déterminer la sémantique correcte pendant l'exécution. Pour obtenir un code plus performant on peut remplacer les appels à `mtlb_cumsum` :

- Si `dim` est inférieure ou égale au nombre de dimensiopns de A `R = mtlb_cumsum(A,dim)` peut être remplacé par `R = cumsum(A,dim)`

- Si `dim` est supérieure au nombre de dimensiopns de A `R = mtlb_cumsum(A,dim)` peut être remplacé par `R = A`

Attention : `mtlb_cumsum` ne doit pas être utilisée pour une programmation manuelle.

## Voir aussi

- firstnonsingleton