Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: Français - Português - 日本語 - Русский

Please note that the recommended version of Scilab is 6.1.1. This page might be outdated.
However, this page did not exist in the previous stable version.

Scilab Help >> Strings > evstr


evaluates Scilab expressions and concatenates their results


H = evstr(M)
H = evstr(list(M, subExpr))
[H, ierr] = evstr(..)



single or vector or matrix of character strings: Scilab expressions to be evaluated and results to be concatenated.


vector of character strings: sub-expressions to be pre-evaluated, defining quantities used in M expressions.


single element, vector, or matrix of concatenated results.


an integer, error indicator.


Evaluates expressions set in M. Then, concatenates their results to build H.

All expressions are assumed to yield results of compatible types and sizes with respect to their concatenation.

If the evaluation of M expressions or the concatenation of their results leads to an error, H = evstr(M) yields the error as usual. To avoid stopping to run next Scilab instructions, [H, ierr] = evstr(M) can be used to catch the error. H is then set to [] and ierr returns 999 or another non-null positive code.

If M is provided through a list, Scilab expressions set in subExpr are evaluated before evaluating M. The results of these subexpressions must be referred to as %(k) in M, where k is the subexpression's index in subExpr.

  • Assignments like "a = 1" are not accepted as expressions, neither in M nor in subExpr. execstr must be used instead to evaluate such expressions.

  • Continuation marks ".." are forbidden in expressions in M as well as in subExpr.

Special aliases:
  • "Nan" and "NaN" are parsed as %nan.
  • "Inf" and "INF" are parsed as %inf.


a = 1; b = 2;
Z = ['a', 'b'] ;

Z = list(['%(1)','%(1)-%(2)'],['a+1','b+1']);

evstr('NaN'), evstr('Inf')

//The two return values version
[H, ierr] = evstr(Z) // no error
Z = ['a', 'b', 'c'] ;// the variable c is undefined
[H, ierr] = evstr(Z) // error 4: Undefined variable: c

See also

  • execstr — execute Scilab code in strings
  • sci2exp — converts an expression to a string
  • strtod — parse and convert literal numbers STRings TO Decimal numbers
  • concatenation — Concatenation. Recipients of an assignment. Results of a function


5.3.0 "Nan" and "NaN" are now parsed as %nan. "Inf" and "INF" are now parsed as %inf.
6.0.1 Simple comments are now supported in almost all possible input expressions, whatever is the shape of M.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Feb 12 19:26:51 CET 2018