[doc] misc. fix & improvements
[scilab.git] / scilab / modules / elementary_functions / help / ru_RU / setoperations / unique.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) 2008 - INRIA
5  * Copyright (C) 2017, 2018 - Samuel GOUGEON
6  *
7  * Copyright (C) 2012 - 2016 - Scilab Enterprises
8  *
9  * This file is hereby licensed under the terms of the GNU GPL v2.0,
10  * pursuant to article 5.3.4 of the CeCILL v.2.1.
11  * This file was originally licensed under the terms of the CeCILL v2.1,
12  * and continues to be available under such terms.
13  * For more information, see the COPYING file which you should have received
14  * along with this program.
15  *
16  -->
17 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
18           xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml"
19           xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
20           xmlns:scilab="http://www.scilab.org" xml:id="unique" xml:lang="ru">
21     <refnamediv>
22         <refname>unique</refname>
23         <refpurpose>удалить все повторяющиеся компоненты из вектора или матрицы</refpurpose>
24     </refnamediv>
25     <refsynopsisdiv>
26         <title>Синтаксис</title>
27         <synopsis>
28             N = unique(M)
29             N = unique(M, orient)
30             [N, k] = unique(..)
31         </synopsis>
32     </refsynopsisdiv>
33     <refsection role="parameters">
34         <title>Аргументы</title>
35         <variablelist>
36             <varlistentry>
37                 <term>M</term>
38                 <listitem>
39                     <para>вектор или матрица чисел или строк</para>
40                 </listitem>
41             </varlistentry>
42             <varlistentry>
43                 <term>orient</term>
44                 <listitem>
45                     <para>флаг с возможными значениями: 1 или "r", 2 или "c".
46                         Не может использоваться, если <varname>M</varname> является гиперматрицей.
47                     </para>
48                 </listitem>
49             </varlistentry>
50             <varlistentry>
51                 <term>N</term>
52                 <listitem>
53                     <para>
54                       <itemizedlist>
55                         <listitem>
56                           Если <varname>orient</varname> не используется: вектор извлечённых
57                           <varname>M</varname> компонентов, сортированных в полядке возрастания.
58                         </listitem>
59                         <listitem>
60                           Если <varname>orient</varname> используется: матрица извлечённых
61                           <varname>M</varname> строк или столбцов, сортированных в лексикографическом порядке возрастания.
62                         </listitem>
63                       </itemizedlist>
64                     </para>
65                 </listitem>
66             </varlistentry>
67             <varlistentry>
68                 <term>k</term>
69                 <listitem>
70                     <para>
71                       Вектор индексов первых встреченных значений, таких что
72                       <literal>N(i) = M(k(i))</literal> или <literal>N(i,:) = M(k(i),:)</literal>
73                       или <literal>N(:,i) = M(:,k(i))</literal>.
74                     </para>
75                 </listitem>
76             </varlistentry>
77         </variablelist>
78     </refsection>
79     <refsection role="description">
80         <title>Описание</title>
81         <para>
82             <literal>unique(M)</literal> возвращает вектор, который содержит уникальные элементы
83             <literal>M</literal> в порядке возрастания.
84         </para>
85         <para>
86             <literal>unique(M,"r")</literal> или <literal>unique(M,1)</literal> возвращает
87             уникальные строки <literal>M</literal> в лексикографическом порядке возрастания.
88         </para>
89         <para>
90             <literal>unique(M,"c")</literal> или <literal>unique(M,2)</literal> возвращает
91             уникальные столбцы <literal>M</literal> в лексикографическом порядке возрастания.
92         </para>
93         <note>
94           Извлечённые компоненты, строки или столбцы могут быть пересортированны в их исходном порядке через
95           сортировку с помощью <varname>k</varname>. См. первый пример.
96         </note>
97     </refsection>
98     <refsection role="examples">
99         <title>Примеры</title>
100         <para>With some numbers:</para>
101         <programlisting role="example"><![CDATA[
102 M = int8([2  0  2  2  1  1  1  2  1  1  0  1  1  0  1  1
103           0  1  2  0  1  2  2  0  1  1  2  0  1  0  0  0
104           ])
105 [u, k] = unique(M)
106 [uc, kc] = unique(M, "c")
107
108 // Получим недублированные столбцы в исходном порядке:
109 M(:, gsort(kc,"g","i"))
110  ]]></programlisting>
111     <screen><![CDATA[
112 --> M 
113  M = 
114   2  0  2  2  1  1  1  2  1  1  0  1  1  0  1  1
115   0  1  2  0  1  2  2  0  1  1  2  0  1  0  0  0
116
117 --> [u, k] = unique(M)
118  u  =
119   0
120   1
121   2
122
123  k  =
124    2.
125    4.
126    1.
127
128 --> [uc, kc] = unique(M, "c")
129  uc  =
130   0  0  0  1  1  1  2  2
131   0  1  2  0  1  2  0  2
132
133  kc  =
134    14.   2.   11.   12.   5.   6.   1.   3.
135
136 --> // Получим недублированные столбцы в исходном порядке:
137 --> M(:, gsort(kc,"g","i"))
138  ans  =
139   2  0  2  1  1  0  1  0
140   0  1  2  1  2  2  0  0
141 ]]></screen>
142         <para>С комплексными числами:</para>
143         <programlisting role="example"><![CDATA[
144 i = %i;
145 c = [1+i, 1-i, -i, i, -i, 1+i]
146 [u, k] = unique(c)
147 [uc, kc] = unique(c, "c")
148  ]]></programlisting>
149     <screen><![CDATA[
150 --> c = [1+i, 1-i, -i, i, -i, 1+i]
151  c  =
152    1. + i     1. - i  -i    i   -i    1. + i
153
154 --> [u, k] = unique(c)
155  u  =
156   -i    i    1. - i   1. + i
157
158  k  =
159    3.   4.   2.   1.
160 ]]></screen>
161
162     <para>С текстом:</para>
163         <programlisting role="example"><![CDATA[
164 t = ["AB" "BA" "BA" "BA" "AB" "BA" "AB" "AB" "BB" "AA" "AB" "BA" "BA" "BA" "AA"
165      "AA" "AA" "AB" "AA" "BB" "BB" "BB" "BA" "AB" "AB" "BB" "BB" "AB" "AB" "AA"
166     ]
167 [u, k] = unique(t)
168 [uc, kc] = unique(t, "c")
169  ]]></programlisting>
170     <screen><![CDATA[
171  t  =
172 !AB  BA  BA  BA  AB  BA  AB  AB  BB  AA  AB  BA  BA  BA  AA  !
173 !AA  AA  AB  AA  BB  BB  BB  BA  AB  AB  BB  BB  AB  AB  AA  !
174
175 --> [u, k] = unique(t);
176  u  =
177 !AA  !
178 !AB  !
179 !BA  !
180 !BB  !
181
182  k  =
183    2.
184    1.
185    3.
186    10.
187
188 --> [uc, kc] = unique(t, "c")
189  uc  =
190 !AA  AA  AB  AB  AB  BA  BA  BA  BB  !
191 !AA  AB  AA  BA  BB  AA  AB  BB  AB  !
192
193  kc  =
194    15.   10.   1.   8.   5.   2.   3.   6.   9.
195 ]]></screen>
196     </refsection>
197     <refsection role="see also">
198         <title>Смотрите также</title>
199         <simplelist type="inline">
200             <member>
201                 <link linkend="members">members</link>
202             </member>
203             <member>
204                 <link linkend="gsort">gsort</link>
205             </member>
206             <member>
207                 <link linkend="vectorfind">vectorfind</link>
208             </member>
209             <member>
210                 <link linkend="grep">grep</link>
211             </member>
212             <member>
213                 <link linkend="union">union</link>
214             </member>
215             <member>
216                 <link linkend="intersect">intersect</link>
217             </member>
218         </simplelist>
219     </refsection>
220     <refsection role="history">
221         <title>История</title>
222         <revhistory>
223             <revision>
224                 <revnumber>6.0.2</revnumber>
225                 <revdescription>
226                     unique() теперь может использоваться для удаления дубликатов комплексных чисел.
227                 </revdescription>
228             </revision>
229         </revhistory>
230     </refsection>
231 </refentry>