Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.1.1 - 日本語

Change language to:
English - Français - Português - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilabヘルプ >> Code Matlab => Scilab > Compatible fonctions > mtlb_eval

mtlb_eval

Matlab eval emulation function

Description

Scilab equivalent for Matlab eval is different according to its inputs and outputs

The function mtlb_eval(str1,str2) is used by mfile2sci to replace eval because it was not possible to know what were the inputs while porting Matlab code to Scilab. This function will determine the correct semantic at run time. If you want to have a more efficient code it is possible to replace mtlb_eval calls:

  • When called with one input and no output, mtlb_eval(str1) may be replaced by evstr(str1) if str1 is a valid Scilab expression or by execstr(str1) if str1 is a valid Scilab instruction.

  • When called with one input and one output, val=mtlb_eval(str1) may be replaced by val=evstr(str1) if str1 is a valid Scilab instruction.

  • When called with two inputs and no output, mtlb_eval(str1,str2) may be replaced by: if execstr(str1,"errcatch")<>0 then execstr(str2);end if str1 and str2 are valid Scilab instructions.

  • When called with more than one output and one input, [val1,val2,...]=mtlb_eval(str1) may be replaced by execstr("[val1,val2,...]"+str1) if str1 is a valid Scilab instruction.

  • When called with two inputs and more than one output, [val1,val2,...]=mtlb_eval(str1,str2) may be replaced by:

    if execstr("[val1,val2,...]"+str1,"errcatch")<>0 then
      execstr("[val1,val2,...]"+str2);
    end

    if str1 and str2 are valid Scilab instructions.

Caution: mtlb_eval has not to be used for hand coded functions.

See also

  • evstr — 式を評価する
  • execstr — 文字列中のScilabコードを実行
Report an issue
<< mtlb_echo Compatible fonctions 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 Jan 03 14:38:07 CET 2022