медиана

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

Синтаксис

M = median(A)
M = median(A,'all')
M = median(A,dim)
M = median(A,vecdim)
M = median(___,nanflag)

Описание

пример

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.

A = gallery('integerdata',10,[1,3,4],1)
A = 
A(:,:,1) =

    10     8    10


A(:,:,2) =

     6     9     5


A(:,:,3) =

     9     6     1


A(:,:,4) =

     4     9     5

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

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

    10


M(:,:,2) =

     6


M(:,:,3) =

     6


M(:,:,4) =

     5

Эта операция производит 1 массивом 1 на 4 путем вычисления медианы этих трех значений вдоль второго измерения. Размер второго измерения уменьшается до 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. 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