1 <?xml version="1.0" encoding="UTF-8"?>
3 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
5 * Copyright (C) 2012 - 2016 - Scilab Enterprises
6 * Copyright (C) 2020 - Samuel GOUGEON
8 * This file is hereby licensed under the terms of the GNU GPL v2.0,
9 * pursuant to article 5.3.4 of the CeCILL v.2.1.
10 * This file was originally licensed under the terms of the CeCILL v2.1,
11 * and continues to be available under such terms.
12 * For more information, see the COPYING file which you should have received
13 * along with this program.
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
17 xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML"
18 xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
19 xml:lang="ru" xml:id="find">
21 <refname>find</refname>
22 <refpurpose>даёт индексы элементов с ненулевым значением или значением %T</refpurpose>
25 <title>Синтаксис</title>
33 <title>Аргументы</title>
39 Вектор, матрица или гиперматрица логических значений или чисел.
40 Все ненулевые числа считаются значениями %T. Принимаются разрежённые
49 целое число, указывающее максимальное количество индексов для возврата.
50 Значение по умолчанию равно <literal>-1</literal>, которое стоит для
51 "все". Эта опция может использоваться для эффективности, чтобы исключить
60 вектор-строка линеаризованных индексов с ненулевым значением, или
61 значением <literal>%T</literal> или пустая матрица <literal>[]</literal>
66 <term>i1, i2, ..</term>
69 векторы-строки индексов направления или пустая матрица
77 <title>Описание</title>
79 Если <varname>x</varname> является матрицей логических значений, то
82 <literal>ii=find(x)</literal> возвращает вектор индексов <literal>i</literal>,
83 для которых <literal>x(i)</literal> соответствует "истине". Если не найден ни один
84 элемент со значением "истина", то возвращается пустая матрица.
87 <literal>[i1,i2,..]=find(x)</literal> возвращает векторы индексов
88 <literal>i1</literal> (для строк) и <literal>i2</literal> (для столбцов),
89 <literal>..</literal> такие, что <literal>x(i1(n),i2(n),..)</literal>
90 соответствует "истине". Если не найден ни один элемент со значением
91 "истина", то возвращаются пустые матрицы в <literal>i1</literal>,
92 <literal>i2</literal>, ...
95 Если <varname>x</varname> - это стандартная матрица или гиперматрица,
96 то <literal>find(x)</literal> интерпретируется как
97 <literal>find(x<>0)</literal>
100 <literal>find([])</literal> возвращает <literal>[]</literal>.
104 <title>Примеры</title>
106 С входными логическими значениями:
108 <programlisting role="example"><![CDATA[
109 A = [%F %T %T %F ; %T %F %F %T]
114 --> A = [%F %T %T %F ; %T %F %F %T]
130 <programlisting role="example"><![CDATA[
131 B = [0 -1 0 3 ; 0 -1 -0.4 0]
137 --> B = [0 -1 0 3 ; 0 -1 -0.4 0]
146 --> [i, j] = find(B);
155 С входными гиперматрицами чисел:
157 <programlisting role="example"><![CDATA[
158 E = grand(2,5,2,"uin",1,6)
162 --> E = grand(2,5,2,"uin",1,6)
176 С входной числовой или логической разрежённой матрицей:
178 <programlisting role="example"><![CDATA[
187 // С входной логической разрежённой матрицей
196 3. 4. 5. 7. 9. 13. 14. 15. 18.
202 --> // With input boolean sparse
205 ( 3, 6) sparse boolean matrix
223 С результатом логического поэлементного условия на текстах:
225 <programlisting role="example"><![CDATA[
226 beers = ["Desperados", "Leffe", "Kronenbourg", "Heineken"];
227 find(beers == "Leffe")
228 find(beers == "1664")
231 --> find(beers == "Leffe")
235 --> find(beers == "1664")
240 Адресация выбранных элементов:
242 <programlisting role="example"><![CDATA[
243 // a) Через их линеаризованные индексы:
244 H = [ 0 -2 -8 4 -5 -1
250 // b) Непосредственно через массив их логического статуса:
255 --> // a) Through their linearized indices:
256 --> H = [ 0 -2 -8 4 -5 -1
260 --> L(find(L < 0)) = -10
262 0. -10. -10. 4. -10. -10.
263 -10. 2. -10. 5. 0. 1.
265 --> // b) Directly through the array of their boolean status:
269 0. -10. -10. 4. -10. -10.
270 -10. 2. -10. 5. 0. 1.
273 <refsection role="see also">
274 <title>Смотрите также</title>
275 <simplelist type="inline">
277 <link linkend="vectorfind">vectorfind</link>
280 <link linkend="grep">grep</link>
283 <link linkend="findobj">findobj</link>
286 <link linkend="boolean">boolean</link>