Nom

mtlb_prod — Fonction d'émulation de la fonction Matlab prod

Description

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

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

  • En cas d'appel avec deux paramètres d'entrée : La fonction Matlab prod 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 prod retourne un message d'erreur.

La fonction mtlb_prod(A[,dim]) est utilisée par mfile2sci pour remplacer prod(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_prod :

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

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

  • En cas d'appel avec un paramètre d'entrée, si A est hypermatrice, mtlb_prod(A) peut être remplacé par prod(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_prod(A,dim) peut être remplacé par prod(A,dim)

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

Voir Aussi

firstnonsingleton

Auteurs

V.C.