Nom

mtlb_sum — Fonction d'émulation de la fonction Matlab sum

Description

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

  • En cas d'appel avec un paramètre d'entrée : La fonction Matlab sum traite les valeurs en suivant la première dimension qui n'est pas 1 alors que la fonction Scilab sum traite toutes les valeurs de l'entrée.

  • En cas d'appel avec deux paramètres d'entrée : La fonction Matlab sum peut être utilisée avec le second paramètre donnant une dimension du premier paramètre qui n'existe pas alors que la fonction Scilab sum retourne un message d'erreur.

La fonction mtlb_sum(A[,dim]) est utilisée par mfile2sci pour remplacer sum(A[,dim]) quand il n'était pas possible de savoir ce qu'étaient les paramètres d'entrée 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_sum :

  • En cas d'appel avec un paramètre d'entrée, si A est une matrice vide, un scalaire ou un vecteur, mtlb_sum(A) peut être remplacé par sum(A)

  • En cas d'appel avec un paramètre d'entrée, si A est une matrice non-vide, mtlb_sum(A) peut être remplacé par sum(A,1)

  • En cas d'appel avec un paramètre d'entrée, si A est hypermatrice, mtlb_sum(A) peut être remplacé par sum(A,firstnonsingleton(A))

  • En cas d'appel avec deux paramètres d'entrée, si dim est inférieure au nombre de dimensions de A mtlb_sum(A,dim) peut être remplacé par sum(A,dim)

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

Voir Aussi

firstnonsingleton

Auteurs

V.C.