1 <?xml version="1.0" encoding="UTF-8"?>
3 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
5 * Copyright (C) 2012 - 2016 - Scilab Enterprises
7 * This file is hereby licensed under the terms of the GNU GPL v2.0,
8 * pursuant to article 5.3.4 of the CeCILL v.2.1.
9 * This file was originally licensed under the terms of the CeCILL v2.1,
10 * and continues to be available under such terms.
11 * For more information, see the COPYING file which you should have received
12 * along with this program.
15 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
16 xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml"
17 xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
18 xmlns:scilab="http://www.scilab.org" xml:id="evstr" xml:lang="ru">
20 <refname>evstr</refname>
21 <refpurpose>вычисление выражений</refpurpose>
24 <title>Синтаксис</title>
27 H = evstr(list(M, subExpr))
32 <title>Аргументы</title>
37 <para>матрица символьных строк.</para>
43 <para>вектор символьных строк.</para>
55 <para>целое число, указатель ошибки.</para>
61 <title>Описание</title>
63 Возвращает результат вычисления матрицы символьных строк
64 <varname>M</varname>. Каждый элемент матрицы должен определять
65 корректное Scilab-выражение.
68 Если вычисление выражения <varname>M</varname> ведёт к ошибке, то в
69 случае с одним возвращаемым значением, <code>H = evstr(M)</code>,
70 возникает ошибка как обычно. В случае с двумя возвращаемыми
71 значениями, <code>[H,ierr] = evstr(M)</code>, ошибки не возникает,
72 но возвращается номер ошибки в <varname>ierr</varname>.
75 Если указан список, то <varname>subExpr</varname>
76 вектор символьных строк, который определяет подвыражения, которые
77 вычисляются до вычисления <varname>M</varname>. К этим
78 подвыражениям следует обращаться как <literal>%(k)</literal> в
79 <varname>M</varname>, где <literal>k</literal> - это индекс
80 подвыражения в <varname>Subexp</varname>.
83 <code>evstr('a = 1')</code> не корректно (вместо этого используйте
84 функцию <function>execstr</function>).
87 <literal>Nan</literal>, <literal>NaN</literal> будут
88 интерпретироваться как <constant>%nan</constant>.
91 <literal>Inf</literal> будет интерпретироваться как <constant>%inf</constant>.
94 <varname>Z</varname> не должно содержать знаков продолжения (..).
98 <title>Примеры</title>
99 <programlisting role="example"><![CDATA[
103 Z = list(['%(1)','%(1)-%(2)'],['a+1','b+1']);
106 evstr('NaN'), evstr('Inf')
108 //Вариант с двумя возвращаемыми значениями
109 [H, ierr] = evstr(Z) // ошибки нет
110 Z = ['a', 'b', 'c'] ;// переменная c не определена
111 [H, ierr] = evstr(Z) // error 4: Неизвестная переменная: c
112 ]]> </programlisting>
114 <refsection role="see also">
115 <title>Смотрите также</title>
116 <simplelist type="inline">
118 <link linkend="execstr">execstr</link>
121 <link linkend="sci2exp">sci2exp</link>
124 <link linkend="strtod">strtod</link>
127 <link linkend="brackets">конкатенация</link>
131 <refsection role="history">
132 <title>История</title>
135 <revnumber>5.3.0</revnumber>
137 <literal>"Nan"</literal> and <literal>"NaN"</literal> are now parsed as <literal>%nan</literal>.
138 <literal>"Inf"</literal> and <literal>"INF"</literal> are now parsed as <literal>%inf</literal>.
142 <revnumber>6.0.1</revnumber>
144 Simple comments are now supported in almost all possible input expressions,
145 whatever is the shape of <literal>M</literal>.