mtlb_cumprod — Fonction d'émulation de la fonction Matlab cumprod
Dans plusieurs cas particuliers, la fonction cumprod
se comporte différemment dans Matlab et dans Scilab :
Avec un argument d'entrée (cumsum(A)
) : La fonction cumprod
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 (cumprod(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_cumprod(A,[,dim])
est utilisée par
mfile2sci
pour remplacer cumprod(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_cumprod
:
Si dim
est inférieure ou égale au nombre de dimensiopns de A
R = mtlb_cumprod(A,dim)
peut être remplacé par R = cumprod(A,dim)
Si dim
est supérieure au nombre de dimensiopns de A
R = mtlb_cumprod(A,dim)
peut être remplacé par R = A
Attention : mtlb_cumprod
ne doit pas être utilisée pour une programmation manuelle.