Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - Français


mtlb_eval

Fonction d'émulation de la fonction Matlab eval

Description

L'équivalent Scilab pour la fonction Matlab eval est différent suivant ses entrées et sorties.

La fonction mtlb_eval(str1,str2) est utilisée par mfile2sci pour remplacer eval parce qu'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_eval :

  • Pour les appels avec une entrée et pas de sortie, mtlb_eval(str1) peut être remplacé par evstr(str1) si str1 est une expression Scilab valid ou par execstr(str1) si str1 est une instruction Scilab valid.

  • Pour les appels avec une entrée et une sortie, val=mtlb_eval(str1) peut être remplacé par val=evstr(str1) si str1 est une instruction Scilab valid.

  • Pour les appels avec deux entrées et une sortie, mtlb_eval(str1,str2) peut être remplacé par: if execstr(str1,"errcatch")<>0 then execstr(str2); end si str1 et str2 sont des instructions Scilab valides.

  • Pour les appels avec une entrée et plus d'une sortie, [val1,val2,...]=mtlb_eval(str1) peut être remplacé par: execstr("[val1,val2,...]"+str1) si str1 est une instruction Scilab valide.

  • Pour les appels avec deux entrées et plus d'une sortie, [val1,val2,...]=mtlb_eval(str1,str2) peut être remplacé par: if execstr("[val1,val2,...]"+str1,"errcatch")<>0 then execstr("[val1,val2,...]"+str2); end si str1 et str2 sont des instructions Scilab valides.

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

Voir aussi

  • evstr — évalue des expressions Scilab et concatène leurs résultats
  • execstr — exécution d'instructions Scilab contenues dans des chaînes de caractères
Report an issue
<< mtlb_echo Fonctions compatibles mtlb_exist >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:39:48 CEST 2023