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 fonctionany
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 dedim
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 vecteurR = mtlb_any(A)
peut être remplacé parR = or(A)
Si
A
est une matriceR = mtlb_any(A)
peut être remplacé parR = o(A,1)
Si
A
est une hypermatriceR = mtlb_any(A)
peut être remplacé parR = or(A,firstnonsingleton(A))
ou parR = 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 AR = mtlb_any(A,dim)
peut être remplacé parR = or(A,dim)
Si
dim
est supérieur au nombre de dimensions de AR = mtlb_any(A,dim)
peut être remplacé parR = A<>0
si A n'est pas une matrice vide ou parR = A
si A est une matrice vide.
Attention: mtlb_any ne doit pas être utilisée pour une programmation manuelle. |
Voir aussi
- firstnonsingleton — Trouve la première dimension qui n'est pas 1
Report an issue | ||
<< mtlb_all | Fonctions compatibles | mtlb_axis >> |