Функции / Векторные и матричные |
Функция нахождения определенных элементов массива
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/matrix | Массив (вектор или матрица) вещественных чисел |
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/matrix | Функция возвращает массив-строку, если входной массив является вектором и массив-столбец, если входной массив является матрицей |
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))
В скрипте примера происходит нахождение индексов элементов массивов, соответствующих заданным условиям.
Нет.