Nom

mtlb_s — Fonction d'émulation de la soustraction Matlab

Description

Dans plusieurs cas particuliers, la soustraction se comporte différemment dans Matlab et dans Scilab :

  • Avec des opérandes de type chaîne de caractères : L'opérateur - ne peut pas être utilisé dans Scilab avec des chaînes de caractère, alors que Matlab réalise dans ce cas la soustraction des codes ASCII des opérandes.

  • Avec une matrice vide : Dans Scilab, si une des opérandes est une matrice vide alors le résultat de la soustraction est l'autre opérande. Dans Matlab si une des opérandes est une matrice vide alors le résultat de la soustraction est soit une erreur (la seconde opérande n'est pas un scalaire) soit une matrice vide.

La fonction mtlb_s(A,B) est utilisée par mfile2sci pour remplacer A-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_s :

  • Si A et B sont des chaînes de caractères, mtlb_s(A,B) peut être remplacé par asciimat(A)-asciimat(B)

  • Si A et B ne sont pas des matrices vides mtlb_s(A,B) peut être remplacé par A-B, sinon mtlb_s(A,B) peut être remplacé par [].

  • Si mtlb_mode()==%T, alors mtlb_s(A,B) peut être remplacé par A-B dans tous les cas où A et B ne sont pas des chaînes de caractères.

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

Voir Aussi

mtlb_mode

Auteurs

V.C.