Fonction M2SCI
Last update : 23/10/2007
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.
See Also
evstr
,
execstr
,
Authors
-
V.C.