mtlb_all
Fonction d'émulation de la fonction Matlab all
Description
Dans plusieurs cas particuliers, les fonctions all
de Matlab et
and
de Scilab se comportent différemment :
Avec un argument d'entrée (
all(A)
), la fonctionall
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 (
all(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_all(A[,dim])
est utilisée par
mfile2sci
pour remplacer all(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_all
:
Si
A
est un scalaire ou un vecteurR = mtlb_all(A)
peut être remplacé parR = and(A)
Si
A
est une matriceR = mtlb_all(A)
peut être remplacé parR = and(A,1)
Si
A
est une hypermatriceR = mtlb_all(A)
peut être remplacé parR = and(A,firstnonsingleton(A))
ou parR = and(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_all(A,dim)
peut être remplacé parR = and(A,dim)
Si
dim
est supérieur au nombre de dimensions de AR = mtlb_all(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_all 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_a | Fonctions compatibles | mtlb_any >> |