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

median

Медианное значение элементов массива.

Библиотека

EngeeDSP

Синтаксис

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

  • M = median(A) — возвращает медианное значение элементов массива A.

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

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

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

  • M = median(A, "all") — возвращает медианное значение по всем элементам A.

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

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

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

  • M = median(___, Weight=W) — определяет схему взвешивания W и возвращает взвешенное медианное значение.

Аргументы

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

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

Details

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

Типы данных

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

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

Details

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

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

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

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

median 1

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

median 2

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

Details

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

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

std 3 ru

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

Details

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

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

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

# W — схема взвешивания
вектор | матрица | многомерный массив

Details

Схема взвешивания, заданная как вектор, матрица или многомерный массив. Элементы W должны быть неотрицательными.

Если указана схема взвешивания, то функция median возвращает взвешенное медианное значение, которое представляет собой значение A, связанное с кумулятивными 50% весов, заданных W [1]. Взвешенная медиана меньше подвержена влиянию экстремальных значений по сравнению со стандартной медианой.

Если W — вектор, он должен иметь ту же длину, что и рабочее измерение. В противном случае W должен иметь тот же размер, что и входные данные.

Вы не можете указать этот аргумент, если используется аргумент vecdim или метод M = median(A, "all").

Типы данных

Float32, Float64

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

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

Details

Медианные значения, возвращаемые в виде скаляра, вектора, матрицы или многомерного массива.

Примеры

Медианное значение элементов матрицы

Details

Создадим матрицу.

import EngeeDSP.Functions: median

A = [0 1 1; 2 3 2; 1 3 2; 4 2 2]
4×3 Matrix{Int64}:
 0  1  1
 2  3  2
 1  3  2
 4  2  2

Вычислим медианное значение каждого столбца.

M = median(A)
1×3 Matrix{Float64}:
 1.5  2.5  2.0

Вычислим медианное значение каждой строки.

M = median(A,2)
4×1 Matrix{Int64}:
 1
 2
 2
 2

Вычислим медианное значение всех элементов матрицы.

M = median(A,"all")
2.0

Литература

  1. Weighted median. In Wikipedia, May 21, 2023. https://en.wikipedia.org/wiki/Weighted_median.