exponenta event banner

медиана

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

Описание

пример

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

Найдите средние значения этого массива 3-D вдоль второго размера.

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

     9


M(:,:,2) =

     7


M(:,:,3) =

     6


M(:,:,4) =

    10

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

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

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

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

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

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. 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