find
Функция нахождения определенных элементов массива
Синтаксис
Ar = find(M);
Ar = find(M, B);
Ar = find(M, B, Num);
Ar = find(M, B, Num, LF);
Ar = find(M, i, Cond, Num, LF);
Ar = find(M, i, j, Cond, Num, LF);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| M | array/array2 |
Массив (вектор или матрица) вещественных чисел |
| B | boolean |
Двоичное значение (True/False), если False, то функция получает индексы нулевых элементов, если True - ненулевых |
| Num | integer |
Целое число, задает количество элементов, которое нужно найти |
| LF | string |
Строковый аргумент, допустимые значения: "L", "F"; задает то, какие элементы нужно выводить: первые (F) или последние (L) |
| i, j | integer |
Цикловые переменные целого типа, для перебора значений вектора (i) или матрицы (i, j) |
| Cond | boolean |
Условие поиска |
Описание
find(M) – функция возвращает индексы ненулевых элементов
матрицы или вектора M. Если M - матрица, то результат -
столбец. Если М - вектор, то результат - строка;
find(M, B) – функция возвращает индексы нулевых (если B =
False) или ненулевых (если B = True) элементов матрицы или
вектора M;
find(M, B, Num) – возвращает первые Num индексов ненулевых
или нулевых (в зависимости от B) элементов матрицы или вектора
M;
find(M, B, Num, LF) - возвращает первые (если LF = "F") или
последние (если LF = "L") Num индексов ненулевых или
нулевых (в зависимости от B) элементов матрицы или вектора
M;
find(M, i, Cond, Num, LF) - возвращает первые или последние (в зависимости от
LF) Num индексов элементов вектора M,
которые удовлетворяют условию Cond. Адресация к элементам вектора в условии
Cond происходит с использованием индексной переменной
i;
find(M, i, j, Cond, Num, LF) - возвращает первые или последние (в зависимости
от LF) Num индексов элементов матрицы M,
которые удовлетворяют условию Cond. Адресация к элементам матрицы в условии
Cond происходит с использованием индексных переменных i
и j.
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| Ar | array/array2 |
Функция возвращает массив-строку, если входной массив является вектором и массив-столбец, если входной массив является матрицей |
Пример
var
i: integer,
j: integer;
M = [[1 2 0];[4 0 6];[0 8 9];[10 11 12]];
Vec = [1 2 3 0 4 5 0 7 0 0 10];
Ar1 = find(M); // возвращает индексы ненулевых элементов матрицы (в столбец)
Ar2 = find(Vec); // возвращает индексы ненулевых элементов вектора (в строку)
Ar3 = find(M, False); // возвращает индексы нулевых элементов матрицы
Ar4 = find(M, True, 4); // возвращает первые 4 индекса ненулевых элементов матрицы
Ar5 = find(M, True, 4, "l"); // возвращает последние 4 индекса ненулевых элементов матрицы
Ar6 = find(Vec, i, (Vec[i]>3) and (Vec[i]<10), 2, "l");
// возвращает индексы 2 последних элемента вектора, соответствующих условию ((Vec[i]>3) and (Vec[i]<10))
Ar7 = find(M, i, j, (M[i][j]>3) and (M[i][j]<10), 3, "l");
// возвращает индексы 3 последних элемента матрицы, соответствующих условию ((M[i][j]>3) and (M[i][j]<10))
В скрипте примера происходит нахождение индексов элементов массивов, соответствующих заданным условиям.
Сопутствующие материалы
Материалов нет.