Nom

mtlb_any — Fonction d'émulation de la fonction Matlab any

Description

Dans plusieurs cas particuliers, les fonctions any de Matlab et or de Scilab se comportent différemment :

  • Avec un argument d'entrée (any(A)), la fonction any de Matlab traite les valeurs selon la première dimension de A qui n'est pas 1 comme un vecteur alors que Scilab traite toutes les valeurs de A.

  • Avec deux arguments d'entrée (any(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 mtlb_any(A[,dim]) est utilisée par mfile2sci pour remplacer any(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_any :

  • Si A est un scalaire ou un vecteur R = mtlb_any(A) peut être remplacé par R = or(A)

  • Si A est une matrice R = mtlb_any(A) peut être remplacé par R = o(A,1)

  • Si A est une hypermatrice R = mtlb_any(A) peut être remplacé par R = or(A,firstnonsingleton(A)) ou par R = or(A,user_defined_value) si la première dimension non-égale à 1 de A est connue.

  • Si dim est inférieur ou égal au nombre de dimensions de A R = mtlb_any(A,dim) peut être remplacé par R = or(A,dim)

  • Si dim est supérieur au nombre de dimensions de A R = mtlb_any(A,dim) peut être remplacé par R = A<>0 si A n'est pas une matrice vide ou par R = A si A est une matrice vide.

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

Voir Aussi

firstnonsingleton

Auteurs

V.C.