Fonction d'émulation des opérateurs logiques de Matlab
Dans plusieurs cas particuliers, les opérateurs logiques se comportent différemment dans Matlab et dans Scilab :
Avec des opérandes complexes : Les opérateurs <
,
<=
, >
et >=
ne peuvent pas être utilisés dans Scilab avec des opérandes complexes alors que
cela est possible dans Matlab. Dans ce cas, seule la partie réelle des opérandes
est comparée.
Avec des matrices vides : Pour les opérateurs ==
et
~=
, si au moins un opérande est une matrice vide alors
Matlab renvoie [] alors que Scilab retourne un booléen %T ou %F.
La fonction mtlb_logic(A,symbol,B)
(avec "symbol" une chaîne de
caractères contenant le symbole de l'opérateur) est utilisée par
mfile2sci
pour remplacer A symbol B
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_logic
:
Si A
et B
ne sont pas des complexes ni
des matrices vides mtlb_logic(A,symbol,B)
peut être remplacé
par A symbol B
![]() | Attention : mtlb_logic ne doit pas être utilisée pour une
programmation manuelle. |