Документация Engee

max

Максимальные элементы массива.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • M = max(A) — возвращает максимальные элементы массива.

    • Если A — вектор, то max(A) возвращает максимальное значение A.

    • Если A — матрица, то max(A) — вектор-строка, содержащая максимальное значение каждого столбца A.

    • Если A — многомерный массив, то max(A) действует по первому измерению A, размер которого не равен 1, рассматривая элементы как векторы. Размер M в этом измерении становится равным 1, в то время как размеры всех остальных измерений остаются такими же, как в A. Если A — пустой массив, первое измерение которого имеет нулевую длину, то M — пустой массив того же размера, что и A.

  • M = max(A, [], "all") — возвращает максимум по всем элементам A.

  • M = max(A, [], dim) — возвращает максимальный элемент по размерности dim. Например, если A — матрица, то max(A,[],2) возвращает вектор-столбец, содержащий максимальное значение каждой строки.

  • M = max(A, [], vecdim) — возвращает максимум по размерности, указанной в векторе vecdim. Например, если A — матрица, то max(A,[],[1 2]) возвращает максимум по всем элементам матрицы A, поскольку каждый элемент матрицы содержится в слое массива, определяемом размерностями 1 и 2.

  • M = max(A, [], ___, missingflag) — также задает способ обработки пропущенных значений для любого из предыдущих вариантов синтаксиса. Например, max(A,[],"includenan") включает все пропущенные значения при вычислении максимума. По умолчанию max исключает пропущенные значения.

  • M, I = max(___) — также возвращает индекс в рабочем измерении, соответствующий первому вхождению максимального значения A.

  • M, I = max(A, [], ___, "linear") — также возвращает линейный индекс в A, соответствующий максимальному значению в A.

  • C = max(A, B) — возвращает массив с наименьшими элементами, взятыми из A или B.

  • C = max(A, B, missingflag) — также задает способ обработки пропущенных значений.

  • ___ = max(___, "ComparisonMethod",method) — также задает способ сравнения элементов для любого из предыдущих вариантов синтаксиса. Например, для вектора A = [-1 2 -9] синтаксис max(A,[],"ComparisonMethod","abs") сравнивает элементы A по их абсолютным значениям и возвращает максимальное значение -9.

Аргументы

Входные аргументы

# A — входные данные
скаляр | вектор | матрица | многомерный массив

Details

Входные данные, заданные как скаляр, вектор, матрица или многомерный массив.

  • Если A — комплексное число, то max(A) возвращает комплексное число с наименьшей абсолютной величиной. Если значения равны, то max(A) возвращает значение с наименьшей абсолютной величиной и наименьшим фазовым углом.

  • Если A — скаляр, то max(A) возвращает A.

  • Если A — пустой массив размером 0 на 0, то max(A) также будет пустым массивом.

Типы данных

Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Поддержка комплексных чисел

Да

# dim — измерение, по которому выполняется операция
скаляр

Details

Измерение, по которому выполняется операция, задается как положительный целочисленный скаляр. Если измерение не указано, то по умолчанию используется первое измерение массива, размер которого не равен 1.

Размерность dim указывает измерение, длина которого уменьшается до 1. Размер size(M, dim) равен 1, в то время как размеры всех остальных измерений остаются прежними, если только size(A, dim) не равен 0. Если size(A, dim) равен 0, то функция max(A, dim) возвращает пустой массив того же размера, что и A.

Рассмотрим входную матрицу A размером на :

  • max(A,[],1) вычисляет максимум элементов в каждом столбце матрицы A и возвращает вектор-строку размером 1 на .

max 1

  • max(A,[],2) вычисляет максимум элементов в каждой строке матрицы A и возвращает вектор-столбец размером 1 на .

max 2

# vecdim — вектор измерений
вектор

Details

Вектор измерений, заданный как вектор положительных целых чисел. Каждый элемент представляет измерение входного массива. Длина выходных данных в указанных рабочих измерениях равна 1, в то время как остальные измерения остаются неизменными.

Рассмотрим входной массив A размером 2×3×3. Тогда max(A,0,[1 2]) возвращает массив размером 1×1×3, элементы которого являются максимальными значениями, вычисленными для каждого слоя A.

std 3 ru

# missingflag — условие отсутствия значения
"omitnan" (по умолчанию) | "includenan"

Details

Условие отсутствия значения, заданное как:

  • "includenan" учитывает пропущенные значения во входных данных. Если какой-либо элемент в рабочем измерении отсутствует, то соответствующий элемент в M также отсутствует.

  • "omitnan" игнорирует пропущенные значения во входных данных и вычисляет максимум по меньшему числу точек. Если все элементы в рабочем измерении отсутствуют, то соответствующие элементы в M тоже отсутствует.

# B — дополнительные входные данные
скаляр | вектор | матрица | многомерный массив

Details

Дополнительные входные данные, заданные как скаляр, вектор, матрица или многомерный массив. Входные данные A и B должны быть одинакового размера или иметь совместимые размеры (например, A — матрица размером на , а B — скаляр или вектор-строка размером 1 на ).

  • Если A и B — массивы, то они должны иметь одинаковый тип данных, за исключением случаев, когда один из них — тип Float64. В этом случае тип данных другого массива может быть Float32 или любым целочисленным типом.

Типы данных

Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Поддержка комплексных чисел

Да

# method — метод сравнения
"auto" (по умолчанию) | "real" | "abs"

Details

Метод сравнения для входных данных, заданный одним из следующих значений:

  • "auto" — для A сравнивать элементы по значению real(A), если A вещественное число, и по значению abs(A), если A комплексное.

  • "real" — для A сравнивать элементы по значению real(A), если A вещественное или комплексное. Если элементы A имеют равные вещественные части, то для разрешения совпадений используется функция imag(A).

  • "abs" — для A сравнивать элементы по значению abs(A), если A вещественное или комплексное. Если элементы A имеют равные абсолютные значения, то для разрешения совпадений используется функция angle(A) в интервале .

Выходные аргументы

# M — максимальные значения
скаляр | вектор | матрица | многомерный массив

Details

Максимальные значения, возвращаемые в виде скаляра, вектора, матрицы или многомерного массива. Размер size(M,dim) равен 1, в то время как размеры всех остальных измерений совпадают с размером соответствующего измерения в A, если size(A,dim) не равен 0. Если size(A,dim) равен 0, то M — пустой массив того же размера, что и A.

# I — индекс
скаляр | вектор | матрица | многомерный массив

Details

Индекс, возвращаемый в виде скаляра, вектора, матрицы или многомерного массива. Аргумент I имеет тот же размер, что и первый выходной параметр.

Если в вызове не указан "linear", то I — это индекс рабочего измерения. Если в вызове указан "linear", то I содержит линейные индексы A, соответствующие максимальным значениям.

Если наименьший элемент встречается более одного раза, то I содержит индекс первого вхождения значения.

# C — максимальные элементы из A или B
скаляр | вектор | матрица | многомерный массив

Details

Максимальные элементы из A или B, возвращаемые в виде скаляра, вектора, матрицы или многомерного массива. Размер C определяется неявным расширением размерностей A и B.

Тип данных C зависит от типов данных A или B:

  • Если A и B имеют одинаковый тип данных, то C соответствует типу данных A и B.

  • Если A или B имеет тип Float32, то C также имеет тип Float32.

  • Если один из A или B имеет целочисленный тип, а другой — тип Float64, то C имеет целочисленный тип.

Примеры

Максимальный элемент вещественного вектора

Details

Создадим вектор и найдем максимальный элемент и его индекс.

import EngeeDSP.Functions: max

A = [23, 42, 37, 15, 52]
M = max(A)
(M = 52, I = 5)

Максимальный элемент комплексного вектора

Details

Создадим комплексный вектор и найдем максимальный элемент и его индекс.

import EngeeDSP.Functions: max

A = [-2+2im, 4+1im, -1-3im]
M = max(A)
(M = 4 + 1im, I = 2)