*
-->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="boolean">
- <refnamediv>
- <refname>boolean</refname>
- <refpurpose> Scilab Objects, boolean variables and operators & | ~ </refpurpose>
- </refnamediv>
- <refsection>
- <title>Description</title>
- <para>
- A boolean variable is <constant>%T</constant> (for "true") or <constant>%F</constant> (for "false"). These variables can be used to define matrices of booleans, with the usual syntax. Boolean matrices can be manipulated as ordinary matrices for elements extraction/insertion and concatenation. Note that other usual operations (<literal>+</literal>, <literal>*</literal>, <literal>-</literal>, <literal>^</literal>, etc) are undefined for boolean matrices. Тhree special operators are defined for boolean matrices:
- </para>
- <variablelist>
- <varlistentry>
- <term>~b</term>
- <listitem>
- <para>
- is the element-wise negation of boolean <literal>b</literal> (matrix).
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>b1 & b2</term>
- <listitem>
- <para>
- is the element-wise logical <literal>and</literal> of
- <literal>b1</literal> and <literal>b2</literal>
- (matrices).
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>b1 | b2</term>
- <listitem>
- <para>
- is the element-wise logical
- <literal>or</literal> of <literal>b1</literal>
- and <literal>b2</literal> (matrices).
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>
- Boolean variables can be used for indexing matrices or vectors. For instance <code>a([%T,%F,%T],:)</code> returns the submatrix made of rows <literal>1</literal> and <literal>3</literal> of <literal>a</literal>. Boolean sparse matrices are supported.
- </para>
- </refsection>
- <refsection>
- <title>Examples</title>
- <programlisting role="example"><![CDATA[
+ <refnamediv>
+ <refname>boolean</refname>
+ <refpurpose> Scilab Objects, boolean variables and operators & | ~ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Description</title>
+ <para>
+ A boolean variable is <constant>%T</constant> (for "true") or <constant>%F</constant> (for "false"). These variables can be used to define matrices of booleans, with the usual syntax. Boolean matrices can be manipulated as ordinary matrices for elements extraction/insertion and concatenation. Note that other usual operations (<literal>+</literal>, <literal>*</literal>, <literal>-</literal>, <literal>^</literal>, etc) are undefined for boolean matrices. Тhree special operators are defined for boolean matrices:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>~b</term>
+ <listitem>
+ <para>
+ is the element-wise negation of boolean <literal>b</literal> (matrix).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1 & b2</term>
+ <listitem>
+ <para>
+ is the element-wise logical <literal>and</literal> of
+ <literal>b1</literal> and <literal>b2</literal>
+ (matrices).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1 | b2</term>
+ <listitem>
+ <para>
+ is the element-wise logical
+ <literal>or</literal> of <literal>b1</literal>
+ and <literal>b2</literal> (matrices).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ Boolean variables can be used for indexing matrices or vectors. For instance <code>a([%T,%F,%T],:)</code> returns the submatrix made of rows <literal>1</literal> and <literal>3</literal> of <literal>a</literal>. Boolean sparse matrices are supported.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
[1,2]==[1,3]
[1,2]==1
a=1:5; a(a>2)
]]></programlisting>
- </refsection>
- <refsection role="see also">
- <title>See Also</title>
- <simplelist type="inline">
- <member>
- <link linkend="matrices">matrices</link>
- </member>
- <member>
- <link linkend="or">or</link>
- </member>
- <member>
- <link linkend="and">and</link>
- </member>
- <member>
- <link linkend="not">not</link>
- </member>
- </simplelist>
- </refsection>
+ </refsection>
+ <refsection role="see also">
+ <title>See Also</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="matrices">matrices</link>
+ </member>
+ <member>
+ <link linkend="or">or</link>
+ </member>
+ <member>
+ <link linkend="and">and</link>
+ </member>
+ <member>
+ <link linkend="not">not</link>
+ </member>
+ </simplelist>
+ </refsection>
</refentry>
-
\ No newline at end of file
<term>x</term>
<listitem>
<para>
- a vector containing the dimensions of the cell to create.
- </para>
+ a vector containing the dimensions of the cell to create.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>m1, m2, ..., mn</term>
<listitem>
<para>
- dimensions of the cell to create.
- </para>
+ dimensions of the cell to create.
+ </para>
</listitem>
</varlistentry>
</variablelist>
<refsection>
<title>Description</title>
<para>
- <function>cell</function> returns a cell array of empty matrices.
- </para>
+ <function>cell</function> returns a cell array of empty matrices.
+ </para>
<variablelist>
<varlistentry>
<term>cell()</term>
<term>cell(x)</term>
<listitem>
<para>
- returns a cell array of empty matrices with: the first dimension of the cell array is <literal>x(1)</literal>, the second dimension is <literal>x(2)</literal> and so on.
+ returns a cell array of empty matrices with: the first dimension of the cell array is <literal>x(1)</literal>, the second dimension is <literal>x(2)</literal> and so on.
</para>
</listitem>
</varlistentry>
<code>cell()</code> is equivalent to <code>cell(0)</code>.
</para>
<para>
- If <literal>A</literal> is a cell array, you can access the contents of an element of <literal>A</literal> by using <code>A(m1, m2, ..., mn).entries</code>. The expression <code>A(1,1) = zeros(2,2)</code> is not valid, the right syntax is
+ If <literal>A</literal> is a cell array, you can access the contents of an element of <literal>A</literal> by using <code>A(m1, m2, ..., mn).entries</code>. The expression <code>A(1,1) = zeros(2,2)</code> is not valid, the right syntax is
<code>A(1,1).entries = zeros(2,2)</code>.
</para>
<para>
- If <literal>A</literal> is a cell array, you can get its dimensions by using <code>A.dims</code> which returns an <literal>int32</literal> value that cannot be used as a subscript for the cell array. In this case, the best way to get the cell array dimensions is <code>size(A)</code>.
+ If <literal>A</literal> is a cell array, you can get its dimensions by using <code>A.dims</code> which returns an <literal>int32</literal> value that cannot be used as a subscript for the cell array. In this case, the best way to get the cell array dimensions is <code>size(A)</code>.
</para>
</refsection>
<refsection>
</simplelist>
</refsection>
</refentry>
-
\ No newline at end of file
<varlistentry>
<term>l</term>
<listitem>
- <para><literal>list</literal>, <literal>tlist</literal> or <literal>mlist</literal> variable.</para>
+ <para>
+ <literal>list</literal>, <literal>tlist</literal> or <literal>mlist</literal> variable.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>i</term>
<listitem>
- <para>field index, see <link linkend="extraction">extraction</link> for more details.</para>
+ <para>
+ field index, see <link linkend="extraction">extraction</link> for more details.
+ </para>
</listitem>
</varlistentry>
</variablelist>
</simplelist>
</refsection>
</refentry>
-
\ No newline at end of file
<refsection>
<title>Description</title>
<para>
- The <function>hypermat</function> function initializes a hypermatrix whose dimensions are given in the vector <varname>dims</varname> and entries are given in optional argument <varname>v</varname>.
+ The <function>hypermat</function> function initializes a hypermatrix whose dimensions are given in the vector <varname>dims</varname> and entries are given in optional argument <varname>v</varname>.
</para>
<para>
- <varname>M</varname> data structure contains the vector of matrix dimensions
+ <varname>M</varname> data structure contains the vector of matrix dimensions
<code>M('dims')</code> and the vector of entries <code>M('entries')</code> such as
the leftmost subcripts vary first
<literal>[M(1,1,..);..;M(n1,1,..);...;M(1,n2,..);..;M(n1,n2,..);...]</literal>
</para>
<para>
- <warning>
- If you build your own <function>hypermat</function>, you must be careful. The <code>M('dims')</code> entry must be a row vector whereas the <code>M('entries')</code> must be a column vector.
- </warning>
+ <warning>
+ If you build your own <function>hypermat</function>, you must be careful. The <code>M('dims')</code> entry must be a row vector whereas the <code>M('entries')</code> must be a column vector.
+ </warning>
</para>
</refsection>
<refsection>
dimension are stored first).
</para>
<para>
- <note>
- The number of dimension of hypermatrices with right-most sizes equal to
- 1 are automatically reduced. An hypermatrix with only two dimensions is
- automatically changed to a regular matrix (type 1).
- </note>
+ <note>
+ The number of dimension of hypermatrices with right-most sizes equal to
+ 1 are automatically reduced. An hypermatrix with only two dimensions is
+ automatically changed to a regular matrix (type 1).
+ </note>
</para>
</refsection>
<refsection>
</simplelist>
</refsection>
</refentry>
-
\ No newline at end of file
<para>
<code>L(0)=e</code>.
<note>
- After this
- operation <literal>e</literal> is an index 1,
- the initial elements being shifted on the
- right.
+ After this
+ operation <literal>e</literal> is an index 1,
+ the initial elements being shifted on the
+ right.
</note>
</para>
</listitem>
<literal>a=%<type_of_b>_i_<type_of_a>(i1, ..., in, b, a)</literal>.
</para>
<para/>
- <para><literal>mlist</literal> fields must then be designed by their names. They can also be
+ <para>
+ <literal>mlist</literal> fields must then be designed by their names. They can also be
handled using the <function>getfield</function> and <function>setfield</function>
functions.
</para>
<term>l</term>
<listitem>
<para>
- a <literal>list</literal>, <literal>tlist</literal> or <literal>mlist</literal> variable.
+ a <literal>list</literal>, <literal>tlist</literal> or <literal>mlist</literal> variable.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>i</term>
<listitem>
- <para>a field index, see <link linkend="insertion">insertion</link> for more details.</para>
+ <para>
+ a field index, see <link linkend="insertion">insertion</link> for more details.
+ </para>
</listitem>
</varlistentry>
</variablelist>
<varlistentry>
<term>value1, value2, ...</term>
<listitem>
- <para>all data type (<literal>double</literal>, <literal>char</literal>, <literal>int</literal>, ...), representing the fields values.
+ <para>
+ all data type (<literal>double</literal>, <literal>char</literal>, <literal>int</literal>, ...), representing the fields values.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>14</term>
<listitem>
- <para>a function <link linkend="library">library</link>.</para>
+ <para>
+ a function <link linkend="library">library</link>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>130</term>
<listitem>
<para>
- a built-in Scilab function, called also <emphasis role="italic">gateway</emphasis> (C, C++ or Fortran code).
+ a built-in Scilab function, called also <emphasis role="italic">gateway</emphasis> (C, C++ or Fortran code).
</para>
</listitem>
</varlistentry>
assigned to a null variable.
</para>
<para>
- <note>
- Note that if a null variable is assigned to a name, it is removed.
- <code>x=disp(1)</code> deletes <literal>x</literal>.
- </note>
+ <note>
+ Note that if a null variable is assigned to a name, it is removed.
+ <code>x=disp(1)</code> deletes <literal>x</literal>.
+ </note>
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
- <note>
- Please note that, for some variables, <function>type</function> will return <literal>tlist</literal>
- or <literal>mlist</literal> due to the internal data structure. This is the case of
- <emphasis role="italic">rational</emphasis> and <emphasis role="italic">state-space</emphasis> matrices, <emphasis role="italic">hypermat</emphasis> and <emphasis role="italic">struct</emphasis>. Please considering the use of
- <link linkend="typeof">typeof</link> instead.
- </note>
+ <note>
+ Please note that, for some variables, <function>type</function> will return <literal>tlist</literal>
+ or <literal>mlist</literal> due to the internal data structure. This is the case of
+ <emphasis role="italic">rational</emphasis> and <emphasis role="italic">state-space</emphasis> matrices, <emphasis role="italic">hypermat</emphasis> and <emphasis role="italic">struct</emphasis>. Please considering the use of
+ <link linkend="typeof">typeof</link> instead.
+ </note>
</para>
</refsection>
<refsection role="see also">
<refsection>
<title>Description</title>
<para>
- <literal>t=typeof(object)</code> returns one of the following
+ <code>t=typeof(object)</code> returns one of the following
strings:
</para>
<variablelist>
<varlistentry>
<term>"constant"</term>
<listitem>
- <para>if <varname>object</varname> is a real or complex matrix of double.</para>
+ <para>
+ if <varname>object</varname> is a real or complex matrix of double.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>"hypermat"</term>
<listitem>
<para>
- if <varname>object</varname> is a <link linkend="hypermatrices">hypermatrix</link> (<litera>N</literal>-dimension array with <litera><![CDATA[N<=3]]></litera>.
+ if <varname>object</varname> is a <link linkend="hypermatrices">hypermatrix</link> (<literal>N</literal>-dimension array with <literal><![CDATA[N<=3]]></literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>"fptr"</term>
<listitem>
- <para>if <varname>object</varname> is a built-in Scilab function, called also <emphasis role="italic">gateway</emphasis> (C, C++ or Fortran code).</para>
+ <para>
+ if <varname>object</varname> is a built-in Scilab function, called also <emphasis role="italic">gateway</emphasis> (C, C++ or Fortran code).
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry>
<term>"size implicit"</term>
<listitem>
- <para>if <varname>object</varname> is a size implicit polynomial used for indexing. This a purely internal value.</para>
+ <para>
+ if <varname>object</varname> is a size implicit polynomial used for indexing. This a purely internal value.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>"library"</term>
<listitem>
- <para>if <varname>object</varname> is a function <link linkend="library">library</link>.</para>
+ <para>
+ if <varname>object</varname> is a function <link linkend="library">library</link>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
</varlistentry>
</variablelist>
<para>
- <note>
- Note that if the <varname>object</varname> is a <link linkend="tlist">tlist</link> or <link linkend="mlist">mlist</link>, <function>typeof</function> will return the first string in the first list entry.
- </note>
+ <note>
+ Note that if the <varname>object</varname> is a <link linkend="tlist">tlist</link> or <link linkend="mlist">mlist</link>, <function>typeof</function> will return the first string in the first list entry.
+ </note>
</para>
</refsection>
<refsection>
*
-->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="boolean">
- <refnamediv>
- <refname>boolean</refname>
- <refpurpose>Объекты Scilab'а, логические переменные и операторы & | ~
- </refpurpose>
- </refnamediv>
- <refsection>
- <title>Описание</title>
- <para>
- Логическими переменными являются <constant>%T</constant>, ИСТИНА (англ. "true"), и <constant>%F</constant>, ЛОЖЬ (англ. "false"). Эти переменные могут использоваться для определения матриц логических значений с помощью обычного синтаксиса. С матрицами логических значений можно обращаться как с обычными матрицами для выделения/вставки элементов и конкатенации. Заметим, что другие обычные операции(<literal>+</literal>, <literal>*</literal>, <literal>-</literal>, <literal>^</literal> и т. д.) не определены для матриц логических значений. Для матриц логических значений определены три специальных оператора:
- </para>
- <variablelist>
- <varlistentry>
- <term>~b</term>
- <listitem>
- <para>
- поэлементное логическое НЕ матрицы <literal>b</literal>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>b1 & b2</term>
- <listitem>
- <para>
- поэлементное логическое И матриц <literal>b1</literal> и <literal>b2</literal>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>b1 | b2</term>
- <listitem>
- <para>
- поэлементное логическое ИЛИ матриц <literal>b1</literal> и <literal>b2</literal>.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>
- Логические переменные могут использоваться для индексации матриц и векторов. Например, <code>a([%T, %F, %T],:)</code> возвращает подматрицу, составленную из строк <literal>1</literal> и <literal>3</literal> матрицы <literal>a</literal>. Поддерживаются разрежённые логические матрицы.
- </para>
- </refsection>
- <refsection>
- <title>Примеры</title>
- <programlisting role="example"><![CDATA[
+ <refnamediv>
+ <refname>boolean</refname>
+ <refpurpose>Объекты Scilab'а, логические переменные и операторы & | ~
+ </refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Логическими переменными являются <constant>%T</constant>, ИСТИНА (англ. "true"), и <constant>%F</constant>, ЛОЖЬ (англ. "false"). Эти переменные могут использоваться для определения матриц логических значений с помощью обычного синтаксиса. С матрицами логических значений можно обращаться как с обычными матрицами для выделения/вставки элементов и конкатенации. Заметим, что другие обычные операции(<literal>+</literal>, <literal>*</literal>, <literal>-</literal>, <literal>^</literal> и т. д.) не определены для матриц логических значений. Для матриц логических значений определены три специальных оператора:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>~b</term>
+ <listitem>
+ <para>
+ поэлементное логическое НЕ матрицы <literal>b</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1 & b2</term>
+ <listitem>
+ <para>
+ поэлементное логическое И матриц <literal>b1</literal> и <literal>b2</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>b1 | b2</term>
+ <listitem>
+ <para>
+ поэлементное логическое ИЛИ матриц <literal>b1</literal> и <literal>b2</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ Логические переменные могут использоваться для индексации матриц и векторов. Например, <code>a([%T, %F, %T],:)</code> возвращает подматрицу, составленную из строк <literal>1</literal> и <literal>3</literal> матрицы <literal>a</literal>. Поддерживаются разрежённые логические матрицы.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
[1,2]==[1,3]
[1,2]==1
a=1:5; a(a>2)
]]></programlisting>
- </refsection>
- <refsection role="see also">
- <title>Смотрите также</title>
- <simplelist type="inline">
- <member>
- <link linkend="matrices">матрицы</link>
- </member>
- <member>
- <link linkend="or">or</link>
- </member>
- <member>
- <link linkend="and">and</link>
- </member>
- <member>
- <link linkend="not">not</link>
- </member>
- </simplelist>
- </refsection>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="matrices">матрицы</link>
+ </member>
+ <member>
+ <link linkend="or">or</link>
+ </member>
+ <member>
+ <link linkend="and">and</link>
+ </member>
+ <member>
+ <link linkend="not">not</link>
+ </member>
+ </simplelist>
+ </refsection>
</refentry>
-
-
\ No newline at end of file
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2007-2008 - INRIA
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+*
+-->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="cell" xml:lang="ru">
+ <refnamediv>
+ <refname>cell</refname>
+ <refpurpose>создаёт cell-массив пустых матриц</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>
+ c = cell()
+ c = cell(m1)
+ c = cell(m1, m2)
+ c = cell(m1, m2, ..., mn)
+ c = cell(x)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>
+ целочисленный вектор, содержащий размеры cell-массива, который требуется создать.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>m1, m2, ..., mn</term>
+ <listitem>
+ <para>
+ целые числа: размеры cell-массива, который
+ требуется создать.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Функция <function>cell</function> возвращает cell-массив пустых матриц.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>cell()</term>
+ <listitem>
+ <para>
+ возвращает cell-массив размером <literal>0 x 0</literal> пустых матриц.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1)</term>
+ <listitem>
+ <para>
+ возвращает cell-массив размером <literal>m1 x m1)</literal> пустых матриц.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1, m2)</term>
+ <listitem>
+ <para>
+ возвращает cell-массив размером <literal>m1 x m2</literal> пустых матриц.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(m1, m2, ..., mn)</term>
+ <listitem>
+ <para>
+ создаёт cell-массив размером <literal>m1 x m2 x ... x mn</literal> пустых матриц.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>cell(x)</term>
+ <listitem>
+ <para>
+ возвращает cell-массив пустых матриц у которого первая размерность равна <literal>x(1)</literal>, вторая размерность равна <literal>x(2)</literal> и так далее.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Примечания</title>
+ <para>
+ У <code>cell(x)</code> не такой же размер, как у <varname>x</varname>.
+ </para>
+ <para>
+ <code>cell()</code> эквивалентна <code>cell(0)</code>.
+ </para>
+ <para>
+ Если <literal>A</literal> является cell-массивом, то у вас есть
+ допуск к содержимому элемента <literal>A</literal> с помощью
+ <code>A(m1, m2, ..., mn).entries</code>. Инструкция
+ <code>A(1,1) = zeros(2,2)</code> не допустима, правильным
+ синтаксисом является <code>A(1,1).entries = zeros(2,2)</code>.
+ </para>
+ <para>
+ Если <literal>A</literal> является cell-массивом, то вы можете получить его размеры с помощью <code>A.dims</code>, которое возвращает значение типа <literal>int32</literal> и которое нельзя использовать в качестве индекса в cell-массиве. В этом случае лучше всего использовать <code>size(A)</code>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+a=cell(3)
+b=cell(3,1)
+c=cell([2,3,4])
+
+// Определение cell-элементов
+b=cell(3,1);
+
+// Присвоение значения первому элементу b с помощью поля 'entries'
+b(1).entries=1:3
+
+// Присвоение значения второму элементу b с помощью поля 'entries'
+b(2).entries='Scilab'
+
+// Присвоение значения третьему элементу b с помощью поля 'entries'
+b(3).entries=poly(1:3,'s')
+
+// Присвоение cell-подмассивов
+X=cell(3,2);
+X(:,1)=b
+
+// Выделение cell-подмассива: результатом является cell-массив
+b(1)
+b(1:2)
+
+// Выделение значения cell-подмассива: результатом является массив
+b(1).entries
+
+// Размеры b в виде значения int32 (нельзя использовать в качестве индекса)
+b.dims
+// Размеры b в виде значения double
+size(b)
+
+]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="eye">eye</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="definedfields">
+ <refnamediv>
+ <refname>definedfields</refname>
+ <refpurpose>
+ возвращает индекс определённых полей списков
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>k = definedfields(lst)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>lst</term>
+ <listitem>
+ <para>переменная типа list, tlist или mlist.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>k</term>
+ <listitem>
+ <para>вектор индексов.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Если <varname>lst</varname> является списком <literal>list</literal>, типизированным списком
+ <literal>tlist</literal>, матричноориентированным списком <literal>mlist</literal>, то <code>k = definedfields(lst)</code> возвращает в <varname>k</varname> индексы определённых полей списка. Эта функция полезна, поскольку индексация неопределённых полей формирует ошибку.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+lst=list(1);lst(3)=5
+k=definedfields(lst)
+
+t=tlist('x');t(5)=4
+definedfields(t)
+
+m=mlist(['m','a','b']);m.b='sdfgfgd'
+definedfields(m)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="insertion">вставка</link>
+ </member>
+ <member>
+ <link linkend="extraction">выделение</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ * Copyright (C) 2010 - Digiteo - Vincent LIARD
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="fieldnames">
+ <refnamediv>
+ <refname>fieldnames</refname>
+ <refpurpose>
+ получает имена полей переменных типа tlist, mlist или struct
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>f = fieldnames(lst)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>lst</term>
+ <listitem>
+ <para>
+ типизированный список (tlist), матричноориентированный список (mlist) или структура (struct).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>f</term>
+ <listitem>
+ <para>вектор-столбец имён полей.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Функция <function>fieldnames</function> возвращает имена полей типизированного списка (tlist), матричноориентированного списка (mlist) или структуры (struct). Функция <function>fieldnames</function> не работает с cell-массивами.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+ fieldnames(tlist(['listtype', 'f1', 'f2'], [], []))
+ fieldnames(mlist(['V', 'ключ', 'значение'], ['a' 'b' ; 'c' 'd'], [1 2 ; 3 4]))
+ fieldnames(struct('день', 7, 'месяц', 'ЯНВАРЬ', 'год', 2007))
+ obj.x = 3;
+ obj.y = 3;
+ fieldnames(obj)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="extraction">выделение</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="getfield">
+ <refnamediv>
+ <refname>getfield</refname>
+ <refpurpose>выделение поля списка</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>[x,...] = getfield(i, lst)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>матрица любого всевозможного типа.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lst</term>
+ <listitem>
+ <para>
+ список (list), типизированный список (tlist) или матричноориентированный список (mlist).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>
+ целое число: индекс поля, см. подробности в документации по <link linkend="extraction">выделению</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Инструкция <literal>[x,...] = getfield(i, lst)</literal> эквивалентна <literal>[x,...] = lst(i)</literal> для выделения поля с той лишь разницей, что она может также применяться к объектам типа <literal>mlist</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,'qwerw',%s)
+[a,b]=getfield([3 2],l)
+
+a=hypermat([2,2,2],rand(1:2^3));// гиперматрицы кодируются используя mlist-ы
+a(1) // элемент a(1,1,1)
+getfield(1,a) // первое поле mlist-а
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="extraction">выделение</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="hypermat">
+ <refnamediv>
+ <refname>hypermat</refname>
+ <refpurpose>инициализирует N-мерную матрицу</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>M = hypermat(dims [,v])</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>dims</term>
+ <listitem>
+ <para>вектор размеров гиперматрицы.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>v</term>
+ <listitem>
+ <para>
+ вектор элементов гиперматрицы (значение по умолчанию <code>zeros(prod(dims),1)</code>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Функция <function>hypermat</function> инициализирует гиперматрицу, чьи
+ размеры заданы в векторе <varname>dims</varname>, а элементы заданы в
+ необязательном аргументе <varname>v</varname>.
+ </para>
+ <para>
+ Структура данных <varname>M</varname> содержит вектор размеров
+ матрицы <code>M('dims')</code> и вектор элементов
+ <code>M('entries')</code> такие, что первыми изменяются самые левые
+ индексы <literal>[M(1,1,..);..;M(n1,1,..);...;M(1,n2,..);..;M(n1,n2,..);...]</literal>
+ </para>
+ <para>
+ <warning>
+ Если вы строите свою собственную <function>hypermat</function>, то вы
+ должны быть осторожны. Элемент <code>M('dims')</code> должен быть
+ вектор-строкой, а элемент <code>M('entries')</code> должен быть вектор-столбцом.
+ </warning>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+M = hypermat([2 3 2 2],1:24)
+disp(size(M('dims')))
+disp(size(M('entries')))
+
+M_own = mlist(['hm','dims','entries']);
+M_own('dims') = [2 3 2 2];
+M_own('entries') = [1:24]';
+disp(size(M_own('dims')))
+disp(size(M_own('entries')))
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hypermatrices">hypermatrices</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="grand">grand</link>
+ </member>
+ <member>
+ <link linkend="matrix">matrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="hypermatrices">
+ <refnamediv>
+ <refname>hypermatrices</refname>
+ <refpurpose>объект Scilab'а, N-мерная матрица в Scilab'е</refpurpose>
+ </refnamediv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Тип гиперматрицы позволяет манипулировать многомерными массивами.
+ </para>
+ <para>
+ Они могут быть определены расширением двумерных матриц следующим
+ образом <code>a=[1 2;3 4];a(:,:,2)=rand(2,2)</code> или напрямую
+ с помощью функции <function>hypermat</function>.
+ </para>
+ <para>
+ Элементы могут быть вещественными или комплексными числами,
+ полиномами, рациональными числами, строковыми и логическими
+ значениями.
+ </para>
+ <para>
+ Гиперматрицы являются матричноориентированными списками <literal>mlists</literal>:
+ <code>mlist(['hm','dims','entries'],sz,v)</code>, где
+ <literal>sz</literal> - вектор-строка размеров, а
+ <literal>v</literal> - вектор-столбец элементов (первая
+ размерность сохраняется первой).
+ </para>
+ <para>
+ <note>
+ Число размерностей гиперматрицы с самыми правыми размерами,
+ равными 1, автоматически уменьшается. Гиперматрица, у которой
+ только две размерности, автоматически меняется на обычную матрицу
+ (тип 1).
+ </note>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+a(1,1,1,1:2)=[1 2]
+a=[1 2;3 4];a(:,:,2)=rand(2,2)
+a(1,1,:)
+
+size(a)
+
+a(:,:,1) //уменьшение размерности
+type(a(:,:,1))
+
+[a a]
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="hypermat">hypermat</link>
+ </member>
+ <member>
+ <link linkend="zeros">zeros</link>
+ </member>
+ <member>
+ <link linkend="ones">ones</link>
+ </member>
+ <member>
+ <link linkend="grand">grand</link>
+ </member>
+ <member>
+ <link linkend="matrix">matrix</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iscell" xml:lang="ru">
+ <refnamediv>
+ <refname>iscell</refname>
+ <refpurpose>проверяет: является ли переменная cell-массивом</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>bool = iscell(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>переменная Scilab'а.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>логическое значение.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <code>iscell(x)</code> возвращает <constant>%t</constant>, если
+ <varname>x</varname> является cell-массивом, и <constant>%f</constant> - в противном случае.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+iscell(1)
+
+iscell(cell())
+
+c = cell(1,2);
+c(1).entries="Scilab";
+c(2).entries=datenum();
+iscell(c)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="isstruct">isstruct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iscellstr" xml:lang="ru">
+ <refnamediv>
+ <refname>iscellstr</refname>
+ <refpurpose>проверяет: является ли переменная cell-массивом строковых значений</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>bool = iscellstr(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>переменная Scilab'а.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>логическое значение.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <code>iscellstr(x)</code> возвращает <constant>%t</constant>,
+ если <varname>x</varname> являетя cell-массивом строковых
+ значений (или пустой cell-массив), и <constant>%f</constant> - в противном случае.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+iscellstr(1)
+
+iscellstr(cell())
+
+iscellstr(cell(3))
+
+strcell = cell(3,1);
+strcell(1).entries="Scilab";
+strcell(2).entries="iscellstr";
+strcell(3).entries="help";
+iscellstr(strcell)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ <member>
+ <link linkend="iscell">iscell</link>
+ </member>
+ <member>
+ <link linkend="isstruct">isstruct</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="isfield">
+ <refnamediv>
+ <refname>isfield</refname>
+ <refpurpose>проверяет: существует ли поле с указанным именем в структуре</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>bool = isfield(s, fieldname)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>s</term>
+ <listitem>
+ <para>массив структуры.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>fieldname</term>
+ <listitem>
+ <para>матрица строк.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>матрица логических значений.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Эта функция возвращает <constant>%t</constant>, если указанная
+ структура <varname>s</varname> содержит поле с именем <varname>fieldname</varname>, не взирая на его значение.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+s = struct("field_1",123,"field_2",456,"field_4",789)
+
+// Single Fieldname Syntax
+isfield( s , "field_1" )
+
+// Multiple Fieldname Syntax
+isfield( s , [ "field_1" "field_2" ; "field_3" "field_4" ] )
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="definedfields">definedfields</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Vincent COUVERT
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="isstruct" xml:lang="ru">
+ <refnamediv>
+ <refname>isstruct</refname>
+ <refpurpose>проверяет: является ли переменная массивом-структурой</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>bool = isstruct(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>переменная Scilab'а.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bool</term>
+ <listitem>
+ <para>логическое значение.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <code>isstruct(x)</code> возвращает <constant>%t</constant>, если
+ <varname>x</varname> является массивом-структурой, и <constant>%f</constant> - в противном случае.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+isstruct(1)
+
+isstruct(cell())
+
+isstruct(struct("name","Scilab", "version", getversion()))
+
+info.name="Scilab";
+info.function="isstruct";
+info.module="help";
+isstruct(info)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="struct">struct</link>
+ </member>
+ <member>
+ <link linkend="iscell">iscell</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="list">
+ <refnamediv>
+ <refname>list</refname>
+ <refpurpose>объект Scilab'а и функция определения списка</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>list(a1, ..., an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Создаёт список <literal>list</literal> с элементами
+ <varname>ai</varname>, которые являются произвольными объектами Scilab'а (<literal>matrix</literal>,
+ <literal>list</literal>,...). Тип объекта <literal>list</literal> равен 15. <code>list()</code>
+ создаёт пустой список (0 элементов).
+ </para>
+ </refsection>
+ <refsection>
+ <title>Операции со списками</title>
+ <variablelist>
+ <varlistentry>
+ <term>выделение</term>
+ <listitem>
+ <para>
+ <literal>[x,y,z,...]=L(v)</literal>, где <literal>v</literal> - вектор индексов;
+ <literal>[x,y,z,...]=L(:)</literal> выделяет все элементы.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>вставка на место индекса i</term>
+ <listitem>
+ <para>
+ <code>L(i)=a</code> (заметьте, что это не ошибка использовать <code>L(i)=a</code> с
+ <code><![CDATA[i > 1 + size(L)]]></code>, но
+ некоторые элементы списка тогда не определены, и их
+ выделение вызовет ошибку).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>добавление элемента в хвост</term>
+ <listitem>
+ <para>
+ <code>L($+1)=e</code>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>добавление элемента в начало</term>
+ <listitem>
+ <para>
+ <code>L(0)=e</code>.
+ <note>
+ После этой операции <literal>e</literal> имеет индекс 1, исходные элементы будут сдвинуты вправо.
+ </note>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>удаление</term>
+ <listitem>
+ <para>
+ <code>L(i)=null()</code> удаляет <literal>i</literal>-тый элемент списка <literal>L</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>конкатенация двух списков</term>
+ <listitem>
+ <para>
+ <code>L3 = lstcat(L1,L2)</code>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>число элементов списка</term>
+ <listitem>
+ <para>
+ вы можете использовать либо <code>nb_elm = size(L)</code>, либо <code>nb_elm = length(L)</code>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>итерации со списками</term>
+ <listitem>
+ <para>
+ можно использовать список <literal>L</literal> в цикле <link linkend="for">for</link>:
+ <literal>for e=L,...,end</literal> - цикл с числом
+ итераций <literal>length(L)</literal>, переменная
+ цикла <literal>e</literal> будет равна <literal>L(i)</literal>
+ на <literal>i</literal>-той итерации.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Примечания</title>
+ <para>
+ Scilab предлагает также другие виды списков, тип <link linkend="tlist">tlist</link> (типизированный список)
+ и тип <link linkend="mlist">mlist</link> (матричноориентированный список), которые полезны для определения нового типа данных с механизмом
+ <link linkend="overloading">перегрузки</link> операторов (<link linkend="hypermatrices">гиперматрицы</link>, которые являются многомерными массивами, в Scilab'е на самом деле имеют тип <emphasis>mlist</emphasis>).
+ </para>
+ <para>
+ Также доступны структуры <emphasis>struct</emphasis> Matlab'а.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+l = list(1,["a" "b"])
+l(0) = "foo"
+l($+1) = "hello"
+l(2) = "toto"
+l(3) = rand(1,2)
+l(3) = null()
+lbis = list("gewurtz", "caipirina" ,"debug")
+lter = lstcat(l,lbis)
+size(lter) - size(lbis) - size(l) // должен быть ноль
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="null">null</link>
+ </member>
+ <member>
+ <link linkend="lstcat">lstcat</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ <member>
+ <link linkend="insertion">вставка</link>
+ </member>
+ <member>
+ <link linkend="extraction">выделение</link>
+ </member>
+ <member>
+ <link linkend="size">size</link>
+ </member>
+ <member>
+ <link linkend="length">length</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="lsslist">
+ <refnamediv>
+ <refname>lsslist</refname>
+ <refpurpose>
+ функция определения линейного пространства состояний
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>lsslist()
+ lsslist(a1, ..., an)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <literal>lsslist(a1, ..., an)</literal> является сокращением для
+ <literal>tlist(['lss','A';'B';'C';'X0','dt'], a1, ..., an)</literal>.
+ </para>
+ <para>
+ Создаёт <literal>tlist</literal> с <literal>['lss','A';'B';'C';'X0','dt']</literal> на месте первого элемента и <varname>ai</varname>-тыми на месте последующих элементов, если они есть. Ни проверки типа, ни проверки размера <varname>ai</varname>-тых не делается.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="lstcat">
+ <refnamediv>
+ <refname>lstcat</refname>
+ <refpurpose>конкатенация списков</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>lc = lstcat(l1, ..., ln)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>li</term>
+ <listitem>
+ <para>список или иной тип переменной</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lc</term>
+ <listitem>
+ <para>список</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Инструкция <literal>lc = lstcat(l1, ..., ln)</literal>
+ конкатенирует компоненты списки <varname>li</varname> в
+ единый список <varname>lc</varname>. Если
+ <varname>li</varname> являются переменными иного типа,
+ то они просто добавляются к результирующему списку.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+lstcat(list(1,2,3),33,list('foo',%s))
+lstcat(1,2,3)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
</simplelist>
</refsection>
</refentry>
-
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="mlist">
+ <refnamediv>
+ <refname>mlist</refname>
+ <refpurpose>объект Scilab'а, определение матричноориентированного типизированного списка
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>mlist(typ, a1, ..., an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>typ</term>
+ <listitem>
+ <para>вектор символьных строк.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ai</term>
+ <listitem>
+ <para>
+ любой объект Scilab'а (матрица, список, строка, ...).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Объект <link linkend="mlist">mlist</link> очень похож на объект <link linkend="tlist">tlist</link>.
+ Единственное отличие касается синтаксиса <link linkend="extraction">выделения</link> и
+ <link linkend="insertion">вставки</link>:
+ если <literal>M</literal> является <literal>mlist</literal>'ом, то для любого индекса <literal>i</literal>, который не является именем поля, <literal>M(i)</literal> более не является <literal>i</literal>-тым полем списка.
+ </para>
+ <para>
+ Семантика синтаксиса выделения и вставки должна задаваться
+ функцией <link linkend="overloading">перегрузки</link>.
+ </para>
+ <para>
+ Функция перегрузки для синтаксиса выделения <literal>b=a(i1, ..., in)</literal>
+ имеет следующую последовательность вызова: <literal>b=%<тип_a>_e_(i1, ..., in, a)</literal>.
+ </para>
+ <para>и синтаксис
+ <literal>[x1, ..., xm]=a(i1, ..., in)</literal> имеет следующую последовательность вызова:
+ <literal>[x1, ..., xm]=%<тип_a>_e_(i1, ..., in,a)</literal>.
+ </para>
+ <para/>
+ <para>
+ Функция перегрузки, связанная с синтаксисом вставки
+ <literal>a(i1, ..., in)=b</literal> имеет следующую последовательность вызова:
+ <literal>a=%<тип_b>_i_<тип_a>(i1, ..., in, b, a)</literal>.
+ </para>
+ <para/>
+ <para>
+ Поля <literal>mlist</literal>'а должны тогда обозначаться по их
+ именам. Они также могут обрабатываться с помощью функций
+ <function>getfield</function> и <function>setfield</function>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+M=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+
+//определение вывода на экран
+function %V_p(M),disp(M.name+':'+string(M.value)),endfunction
+
+//определение операции выделения
+function r=%V_e(varargin)
+ M=varargin($)
+ r=mlist(['V','name','value'],M.name(varargin(1:$-1)),M.value(varargin(1:$-1)))
+endfunction
+
+M(2,:) // вторая строка M
+M.value
+
+//определение операции вставки
+function M=%V_i_V(varargin)
+ M=varargin($)
+ N=varargin($-1)
+ M.value(varargin(1:$-2))=N.value
+ M.name(varargin(1:$-2))=N.name
+endfunction
+M(1,1)=M(2,2)
+
+function M=%s_i_V(varargin) //вставка обычной матрицы в матрицу V
+ M=varargin($)
+ N=varargin($-1)
+ M.value(varargin(1:$-2))=N
+ M.name(varargin(1:$-2))=emptystr(N)
+endfunction
+M(1,1)=44
+
+// в случае tlist'а
+M=tlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
+M(2)
+M(2)='a'+string([1 2;3 4])
+
+M('name')
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="overloading">перегрузка</link>
+ </member>
+ <member>
+ <link linkend="getfield">getfield</link>
+ </member>
+ <member>
+ <link linkend="setfield">setfield</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
</simplelist>
</refsection>
</refentry>
-
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="rlist">
+ <refnamediv>
+ <refname>rlist</refname>
+ <refpurpose>определение функции рационального деления Scilab rational fraction function definition</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>rlist()
+ rlist(a1 ,..., an)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <literal>rlist(a1, ..., an)</literal> is a shortcut to
+ <literal>tlist(['r','num';'den','dt'], a1, ..., an)</literal>.
+ </para>
+ <para>
+ <literal>rlist(a1, ..., an)</literal> создаёт <literal>tlist</literal> с <literal>['r','num';'den','dt']</literal> в качестве первого элемента и <literal>ai</literal>-тыми в качестве последующих элементов, если они есть. Над <literal>ai</literal>-тыми элементами не делается проверка ни типа ни размера.
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="setfield">
+ <refnamediv>
+ <refname>setfield</refname>
+ <refpurpose>внесение поля списка</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>setfield(i, x, l)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>матрица всевозможного типа.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>l</term>
+ <listitem>
+ <para>
+ переменная типа <literal>list</literal>, <literal>tlist</literal> или <literal>mlist</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>
+ индекс поля, см. справку по <link linkend="insertion">вставке</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Эта функция является эквивалентом синтаксиса <code>l(i)=x</code>
+ для вставки поля с той лишь разницей, что она также применима к объектам <literal>mlist</literal>.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+l=list(1,'qwerw',%s)
+l(1)='Изменён'
+l(0)='Добавлен'
+l(6)=['ещё один';'добавлен']
+
+a=hypermat([2,2,2],rand(1:2^3));// гиперматрицы кодируются с помощью mlist-ов
+setfield(3,1:8,a);a // установка значения поля равным 1:8
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="insertion">вставка</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="struct">
+ <refnamediv>
+ <refname>struct</refname>
+ <refpurpose>создаёт структуру</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>st = struct(field1, value1, field2, value2, ...)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>field1, field2, ...</term>
+ <listitem>
+ <para>строки, представляющие имена полей.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>value1, value2, ...</term>
+ <listitem>
+ <para>
+ все типы данных (<literal>double</literal>, <literal>char</literal>, <literal>int</literal>, ...), представляющие значения полей.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Эта функция возвращает структуру с именами полей
+ <varname>fields1</varname>, <varname>field2</varname>, ..., и значениями полей, соответственно, <varname>value1</varname>, <varname>value2</varname>, ...
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+//создадим структуру данных
+date_st=struct('day',25,'month' ,'DEC','year',2006)
+
+//изменим месяц
+date_st.month='AUG';
+
+//изменим год
+date_st.year=1973;
+
+//изменим день
+date_st.day=19;
+
+//добавим новое поле
+date_st.semaine=32
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="cell">cell</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="tlist">
+ <refnamediv>
+ <refname>tlist</refname>
+ <refpurpose>объект Scilab'а и определение типизированного списка</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>tlist(typ, a1, ..., an)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>typ</term>
+ <listitem>
+ <para>
+ символьная строка или вектор символьных строк.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ai</term>
+ <listitem>
+ <para>
+ любой объект Scilab'а (<literal>matrix</literal>, <literal>list</literal>,
+ <literal>string</literal>, ...).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <literal>tlist(typ, a1, ..., an)</literal> создаёт типизированный список <literal>tlist</literal> с элементами <varname>ai</varname>. Аргумент <varname>typ</varname> определяет тип списка. Такой типизированный список позволяет пользователю определять новые операции, действующие над этими объектами через функции Scilab-а. Единственная разница между <literal>tlist</literal> и <literal>list</literal> состоит в значении типа (16 вместо 15).
+ </para>
+ <para>
+ <code>typ(1)</code> определяет тип списка (символьная строка, используемая для определения запрограммированных действий).
+ </para>
+ <para>
+ Если определено это, то <code>typ(i)</code> может дать <literal>(i+1)</literal>-тому элементу формальное имя.
+ </para>
+ <para>
+ Стандартные операции, определённые над списками <literal>list</literal> работают и типизированными списками <literal>tlist</literal>:
+ </para>
+ <para>
+ извлечение:
+ </para>
+ <para>
+ <literal>[x, y, z, ...]=l(v)</literal>, где <literal>v</literal> - вектор индексов;
+ <literal>[x, y, z]=l(:)</literal> извлекает все элементы.
+ </para>
+ <para>
+ вставка:
+ </para>
+ <para>
+ <literal>l(i)=a</literal>
+ </para>
+ <para>
+ удаление:
+ </para>
+ <para>
+ <code>l(i)=null()</code> удаляет <literal>i</literal>-тый
+ элемент типизированного списка <literal>l</literal>.
+ <note>
+ Заметьте, что семантика инструкции <code>l.x=null()</code> не определена, а определение может быть дано через механизм <link linkend="overloading">перегрузки</link>.
+ </note>
+ </para>
+ <para>
+ вывод на экран.
+ </para>
+ <para>
+ Более того, если <code>typ(2:n+1)</code> определены, то пользователь может обращаться к элементам по их именам.
+ </para>
+ <para>
+ Ниже приводятся примеры, где используются <literal>tlist</literal>.
+ </para>
+ <para>
+ Линейные системы представляются особыми типизированными списками, например, линейная система <literal>[A,B,C,D]</literal> представляется типизированным списком <code>Sys=tlist(['lss';'A';'B';'C';'D';'X0';'dt'],A,B,C,D,x0,'c')</code>
+ и этот особый список можно создать с помощью функции <function>syslin</function>.
+ </para>
+ <para>
+ <code>Sys(2)</code>, <code>Sys('A')</code> или <code>Sys.A</code> является матрицей состояний, а <code>Sys('dt')</code> или <code>Sys.dt</code> является временн<emphasis role="bold" >о</emphasis>й областью.
+ </para>
+ <para>
+ Матрица рациональных значений <literal>H</literal> представляется типизированным списком
+ <code>H=rlist(Num,Den,[])</code>, где <literal>Num</literal> и <literal>Den</literal> являются матрицами полиномов, а линейная система непрерывного времени с передаточной матрицей <literal>H</literal> может быть создана с помощью <code>syslin('c',H)</code>.
+ </para>
+ <para>
+ <code>H(2)</code>, <code>H('num')</code> или <code>H.num</code> является числителем передаточной матрицы.
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+// tlist creation
+t = tlist(["listtype","field1","field2"], [], []);
+t.field1(1) = 10;
+t.field1(2) = 20;
+t.field2(1) = "Scilab";
+t.field2(2) = "tlist";
+t.field2(3) = "пример";
+
+// Отображение содержимого полей
+disp(t.field1)
+disp(t.field2)
+
+// Общее отображение типизированного списка
+disp(t)
+
+// Перегрузка отображения для этого типа типизированного списка
+function %listtype_p(mytlist)
+ f = fieldnames(mytlist);
+
+ // typeof(mytlist) <=> f(1)
+ mprintf("Отображение типизированного списка типа: %s\n", typeof(mytlist));
+
+ mprintf("\n");
+
+ mprintf("-- Поле ''%s'' --\n", f(1));
+ mprintf("Содержимое: %s\n", sci2exp(mytlist(f(1))));
+
+ mprintf("\n");
+
+ mprintf("-- Поле ''%s'' --\n", f(2));
+ mprintf("Содержимое: %s\n", sci2exp(mytlist(f(2))));
+endfunction
+
+// Отображение с помощью функции перегрузки
+disp(t)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="percent">процент</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="list">list</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="type">
+ <refnamediv>
+ <refname>type</refname>
+ <refpurpose>возвращает тип переменной</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>[i]=type(x)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>x</term>
+ <listitem>
+ <para>объект Scilab'а.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>i</term>
+ <listitem>
+ <para>целое число.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ <code>type(x)</code> возвращает целое число, которое равно типу <varname>x</varname>:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>1</term>
+ <listitem>
+ <para>матрица вещественных или комплексных значений удвоенной точности (double).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>2</term>
+ <listitem>
+ <para>
+ матрица <link linkend="poly">полиномов</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>4</term>
+ <listitem>
+ <para>
+ матрица <link linkend="matrices">логических</link> значений.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>5</term>
+ <listitem>
+ <para>
+ <link linkend="sparse">разрежённая</link> матрица.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>6</term>
+ <listitem>
+ <para>
+ <link linkend="sparse">разрежённая</link> матрица логических значений.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>7</term>
+ <listitem>
+ <para>разрежённая матрица Matlab'а.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>8</term>
+ <listitem>
+ <para>
+ матрица <link linkend="int8">целочисленных</link> значений, хранимых в 1 (<literal>int8</literal>), 2 (<literal>int16</literal>) или 4 (<literal>int32</literal>) байтах.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>9</term>
+ <listitem>
+ <para>
+ матрица <link linkend="graphics_entities">графических дескрипторов</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>10</term>
+ <listitem>
+ <para>
+ матрица <link linkend="strings">символьных строк</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>11</term>
+ <listitem>
+ <para>
+ некомпилированная функция (Scilab-код). Функция, созданная с помощью <link linkend="deff">deff</link> с аргументом <literal>'n'</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>13</term>
+ <listitem>
+ <para>
+ компилированная <link linkend="function">функция</link> (Scilab code).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>14</term>
+ <listitem>
+ <para>
+ <link linkend="library">библиотека</link> функций.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>15</term>
+ <listitem>
+ <para>
+ список (<link linkend="list">list</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>16</term>
+ <listitem>
+ <para>
+ типизированный список (<link linkend="tlist">tlist</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>17</term>
+ <listitem>
+ <para>
+ матричноориентированный типизированный список (<link linkend="mlist">mlist</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>128</term>
+ <listitem>
+ <para>
+ указатель (используется в <link linkend="lufact">lufact</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>129</term>
+ <listitem>
+ <para>
+ размер неявного многочлена, используемый для индексации.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>130</term>
+ <listitem>
+ <para>
+ встроенная функция Scilab'а, называемая также <emphasis role="italic">шлюзом</emphasis> (код C, C++ или Fortran).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>0</term>
+ <listitem>
+ <para>
+ нуль-переменная. Она главным образом используется внутри Scilab'а. Если функция не имеет объявленных возвращаемых аргументов, как например <function>disp</function>, то, когда она вызывается, она возвращает нуль-переменную. Если функция вызвана с опущенным аргументом в списке аргументов, как например <code>foo(a,,b)</code>, то пропущенный аргумент назначается нуль-переменной.
+ </para>
+ <para>
+ <note>
+ Заметьте, что, если нуль-переменная назначается имени, то оно удаляется.
+ <code>x=disp(1)</code> удаляет <literal>x</literal>.
+ </note>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <note>
+ Пожалуйста, заметьте, что для некоторых переменных, <function>type</function> вернёт <literal>tlist</literal>
+ или <literal>mlist</literal> в зависимости от внутренней структуры данных. В может быть в случае матрицы с
+ <emphasis role="italic">рациональными</emphasis> значениями, матрицы с элементами <emphasis role="italic">пространства состояний</emphasis>, <emphasis role="italic">гиперматрицы</emphasis> и <emphasis role="italic">структуры</emphasis>. Пожалуйста, используйте вместо этого <link linkend="typeof">typeof</link>.
+ </note>
+ </para>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="inttype">inttype</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="typename">
+ <refnamediv>
+ <refname>typename</refname>
+ <refpurpose>связывает имя и тип переменной</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>[types [ [,names]]=typename()
+ typename(name, type)
+ </synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>types</term>
+ <listitem>
+ <para>вектор-столбец целочисленных значений: коды типов каждого из определённых типов данных.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>names</term>
+ <listitem>
+ <para>вектор-столбец строк: имена, связанные с кодами типов.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>type</term>
+ <listitem>
+ <para>целое число: код типа нового типа данных.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>name</term>
+ <listitem>
+ <para>строковое значение: имя, связанное с кодом типа.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Перегрузка функции и оператора позволяет использовать формальное имя, связанное с типами данных для того, чтобы формировать имя функции перегрузки (см. <link linkend="overloading">перегрузку</link>). Функция <function>typename</function> может быть использована для управления этими формальными именами для жёстко запрограммированных типов данных (типы данных, запрограммированных с помощью <literal>tlist</literal> или <literal>mlist</literal>, определяются по-другому, см. <link linkend="overloading">перегрузку</link>).
+ </para>
+ <para>
+ В случае вызова без аргументов с правой стороны, функция <function>typename</function> вернёт информацию по определённым типам данных.
+ </para>
+ <para>
+ В случае вызова с аргументами с правой стороны, функция <function>typename</function> свяжет имя и код типа данных.
+ </para>
+ <para>
+ <code>typename('',type)</code> удаляет тип данных, указанный по его коду <literal>type</literal> из таблицы известных типов данных.
+ </para>
+ <para>Максимальное число определённых типов 50.</para>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="typeof">typeof</link>
+ </member>
+ <member>
+ <link linkend="overloading">перегрузка</link>
+ </member>
+ <member>
+ <link linkend="tlist">tlist</link>
+ </member>
+ <member>
+ <link linkend="mlist">mlist</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="typeof" xml:lang="ru">
+ <refnamediv>
+ <refname>typeof</refname>
+ <refpurpose>указывает тип объекта</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <title>Последовательность вызова</title>
+ <synopsis>[t]=typeof(object)</synopsis>
+ </refsynopsisdiv>
+ <refsection>
+ <title>Аргументы</title>
+ <variablelist>
+ <varlistentry>
+ <term>object</term>
+ <listitem>
+ <para>объект Scilab'а</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>t</term>
+ <listitem>
+ <para>строковое значение</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+ <refsection>
+ <title>Описание</title>
+ <para>
+ Инструкция <code>t=typeof(object)</code> возвращает одну из следующих строк:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>"constant"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - матрица вещественных или комплексных значений удвоенной точности.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"polynomial"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> матрица <link linkend="poly">полиномов</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"function"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - <link linkend="function">функция</link> (Scilab-код). См. также <link linkend="deff">deff</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"handle"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - <link linkend="graphics_entities">дескриптор</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"string"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - матрица, составленная из <link linkend="strings">символьных строк</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"boolean"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - <link linkend="matrices">матрица</link> логических значений.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"list"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - <link linkend="list">список</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"rational"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - матрица <link linkend="rational">рациональных чисел</link> (передаточная матрица).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"state-space"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - модель пространства состояний (см.<link linkend="syslin">syslin</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"sparse"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - (вещественная) <link linkend="sparse">разрежённая матрица</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"boolean sparse"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - <link linkend="sparse">разрежённая матрица</link> логических значений.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"hypermat"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - <link linkend="hypermatrices">гиперматрица</link> (<literal>N</literal>-мерный массив <literal><![CDATA[N<=3]]></literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"st"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - <link linkend="struct">структура</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"ce"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - <link linkend="cell">cell</link>-массив.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"fptr"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - встроенная Scilab-функция, называетмая также <emphasis role="italic">шлюзом</emphasis> (код C, C++ или Fortran).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"pointer"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - указатель (см. <link linkend="lufact">lufact</link>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"size implicit"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - размер неявного полинома, используемый для индексации. Это чисто внутреннее значение.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"library"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - <link linkend="library">библиотека функций</link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"int8" или "uint8" или "int16" или "uint16" или "int32" или "uint32"</term>
+ <listitem>
+ <para>
+ если <varname>object</varname> - матрица [беззнаковых] целых чисел, хранимых в 8, 16 или 32 битах. (См. <link linkend="int8">int</link>)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ <note>
+ Заметьте, что, если объект <varname>object</varname> является <link linkend="tlist">tlist</link> или <link linkend="mlist">mlist</link>, то <function>typeof</function> вернёт первое строковое значение в первом элементе списка.
+ </note>
+ </para>
+ </refsection>
+ <refsection>
+ <title>Примеры</title>
+ <programlisting role="example"><![CDATA[
+typeof(1)
+typeof(poly(0,'x'))
+
+typeof(1/poly(0,'x'))
+typeof(%t)
+
+w=sprand(100,100,0.001);
+typeof(w)
+typeof(w==w)
+
+deff('y=f(x)','y=2*x');
+typeof(f)
+
+L=tlist(['V','a','b'],18,'Scilab');
+typeof(L)
+
+typeof(corelib)
+ ]]></programlisting>
+ </refsection>
+ <refsection role="see also">
+ <title>Смотрите также</title>
+ <simplelist type="inline">
+ <member>
+ <link linkend="type">type</link>
+ </member>
+ <member>
+ <link linkend="strings">strings</link>
+ </member>
+ <member>
+ <link linkend="syslin">syslin</link>
+ </member>
+ <member>
+ <link linkend="poly">poly</link>
+ </member>
+ </simplelist>
+ </refsection>
+</refentry>
+