median

Медианное значение массива

Описание

пример

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

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

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

  • Если A - пустая матрица 0 на 0, median(A) возвращает NaN.

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

median вычисляется нативно в числовом классе A, таким образом class(M) = class(A).

пример

M = median(A,'all') вычисляет медиану по всем элементам A. Этот синтаксис действителен для MATLAB® версии R2018b и более поздние.

пример

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

пример

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

пример

M = median(___,nanflag) опционально определяет, включать или опускать NaN значения в медианном вычислении для любого из предыдущих синтаксисов. Для примера, median(A,'omitnan') игнорирует все NaN значения в A.

Примеры

свернуть все

Задайте матрицу 4 на 3.

A = [0 1 1; 2 3 2; 1 3 2; 4 2 2]
A = 4×3

     0     1     1
     2     3     2
     1     3     2
     4     2     2

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

M = median(A)
M = 1×3

    1.5000    2.5000    2.0000

Для каждого столбца медианное значение является средним значением двух средних чисел в сортированном порядке.

Задайте матрицу 2 на 3.

A = [0 1 1; 2 3 2]
A = 2×3

     0     1     1
     2     3     2

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

M = median(A,2)
M = 2×1

     1
     2

Для каждой строки медианным значением является средний номер в сортированном порядке.

Создайте массив 1 на 3 на 4 целых чисел между 1 и 10.

rng('default')
A = randi(10,[1,3,4])
A = 
A(:,:,1) =

     9    10     2


A(:,:,2) =

    10     7     1


A(:,:,3) =

     3     6    10


A(:,:,4) =

    10     2    10

Найдите медианные значения этого трехмерные массивы по второму измерению.

M = median(A)
M = 
M(:,:,1) =

     9


M(:,:,2) =

     7


M(:,:,3) =

     6


M(:,:,4) =

    10

Эта операция производит 1 на 1 на 4 array, вычисляя медиану трех значений вдоль второго измерения. Размер второго измерения уменьшается до 1.

Вычислите медиану по первой размерности A.

M = median(A,1);
isequal(A,M)
ans = logical
   1

Эта команда возвращает тот же массив, что и A потому что размер первой размерности 1.

Создайте трехмерный массив и вычислите медиану по каждой странице данных (строки и столбцы).

A(:,:,1) = [2 4; -2 1];
A(:,:,2) = [6 2; -5 3];
A(:,:,3) = [4 4; 7 -3];
M1 = median(A,[1 2])
M1 = 
M1(:,:,1) =

    1.5000


M1(:,:,2) =

    2.5000


M1(:,:,3) =

     4

Начиная с R2018b, чтобы вычислить медиану по всем размерностям массива, можно либо задать каждое измерение в аргументе векторного измерения, либо использовать 'all' опция.

M2 = median(A,[1 2 3])
M2 = 2.5000
Mall = median(A,'all')
Mall = 2.5000

Задайте вектор 1 на 4 из 8-битных целых чисел.

A = int8(1:4)
A = 1x4 int8 row vector

   1   2   3   4

Вычислите медианное значение.

M = median(A),
M = int8
    3
class(M)
ans = 
'int8'

M - среднее значение двух средних чисел в сортированном порядке, возвращаемое в виде 8-битного целого числа.

Создайте вектор и вычислите его медиану, исключая NaN значения.

A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19];
M = median(A,'omitnan')
M = 0.2650

Входные параметры

свернуть все

Входной массив, заданный как векторный, матричный или многомерный массив. A может быть числовым массивом, порядковым categorical массив, datetime массив, или duration массив.

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

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

Рассмотрим двумерный входной массив, A.

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

  • Если dim = 2, затем median(A,2) возвращает вектор-столбец, содержащую медиану элементов в каждой строке.

median возвращает A когда dim больше ndims(A).

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

Рассмотрите массив входа 2 на 3 на 3, A. Затем median(A,[1 2]) возвращает массив 1 на 1 на 3, элементы которого - медианы каждой страницы A.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

NaN условие, заданное как одно из следующих значений:

  • 'includenan' - медиана входного сигнала, содержащая NaN значения также NaN.

  • 'omitnan' - все NaN значения, появляющиеся во входе, игнорируются. Примечание: NaN флаги не установлены в 0.

Можно также задать дополнительные значения для некоторых типов данных.

  • 'includeundefined' и 'omitundefined'categorical вход

  • 'includenat' и 'omitnat'datetime вход

Алгоритмы

Для порядковых категориальных массивов MATLAB интерпретирует медиану четного числа элементов следующим образом:

Если количество категорий между двумя средними значениями...Тогда медиана...
нуль (значения из последовательных категорий)больше из двух средних значений
нечетное числозначение из категории, происходящее посередине между двумя средними значениями
четное числозначение из большей из двух категорий, происходящих посередине между двумя средними значениями

Расширенные возможности

.

См. также

| | | | | | |

Представлено до R2006a