# mtlb_diff

Fonction d'émulation de la fonction Matlab diff

## Description

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

- Avec deux paramètres d'entrée : la fonction `diff` de Scilab considère toutes les valeurs du premier paramètre comm un vecteur ce que Matlab ne fait pas.

- Avec trois paramètres d'entrée : si la dimension du premier paramètre suivant la dimension donnée par le troisième paramètre atteint 1 avant que la fin des n itérations, Matlab passe à la dimension suivante n'étant pas un 1 ce que Scilab ne fait pas.

La fonction `mtlb_diff(A[,n[,dim]])` est utilisée par `mfile2sci` pour remplacer `diff(A[,n[,dim]])` quand il n'était pas possible de savoir ce qu'étaient les entrées 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_diff` :

- Avec deux entrées, si `A` est un scalaire ou un vecteur `mtlb_diff(A,n)` peut être remplacé par `diff(A,n)`

- Avec deux entrées, si la taille de A suivant la dimension donnée par `dim` ne peut pas atteindre 1 `mtlb_diff(A,n,dim)` peut être remplacé par `diff(A,n,dim)`

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