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.

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' категориальный входной параметр

  • 'includenat' и 'omitnat' datetime входной параметр

Алгоритмы

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

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

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

Смотрите также

| | | | | | |

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