mode

Наиболее частые значения в массиве

Описание

пример

M = mode(A) возвращает демонстрационный режим A, который является наиболее часто происходящим значением в A. Когда существует несколько значений, происходящих одинаково часто, mode возвращает самое маленькое из тех значений. Для комплексных входных параметров наименьшее значение является первым значением в отсортированном списке.

  • Если A вектор, затем mode(A) возвращает наиболее частое значение A.

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

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

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

пример

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

пример

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

пример

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

пример

[M,F] = mode(___) также возвращает массив частоты F, использование любого из входных параметров в предыдущих синтаксисах. F одного размера с M, и каждый элемент F представляет количество случаев соответствующего элемента M.

пример

[M,F,C] = mode(___) также возвращает массив ячеек C одного размера с M и F. Каждый элемент C отсортированный вектор из всех значений, которые имеют ту же частоту как соответствующий элемент M.

Примеры

свернуть все

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

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

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

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

M = mode(A)
M = 1×4

     0     0     1     4

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

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

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

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

M = mode(A,2)
M = 3×1

     3
     0
     0

Создайте 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 = mode(A)
M = 
M(:,:,1) =

     2


M(:,:,2) =

     1


M(:,:,3) =

     3


M(:,:,4) =

    10

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

Вычислите режим по первому измерению A.

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

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

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

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

     2


M1(:,:,2) =

     3


M1(:,:,3) =

     4

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

M2 = mode(A,[1 2 3])
M2 = 4
Mall = mode(A,'all')
Mall = 4

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

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

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

Найдите наиболее частое значение каждого столбца, а также как часто это происходит.

[M,F] = mode(A)
M = 1×4

     0     0     1     4

F = 1×4

     2     1     2     2

F(1) 2 начиная с M(1) происходит дважды в первом столбце.

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

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

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

Найдите наиболее частое значение каждой строки, как часто это происходит, и какие значения в той строке происходят с той же частотой.

[M,F,C] = mode(A,2)
M = 3×1

     3
     0
     0

F = 3×1

     2
     2
     1

C=3×1 cell array
    {[       3]}
    {2x1 double}
    {4x1 double}

C{2} 2 1 векторный [0;1] начиная со значений 0 и 1 во второй строке происходят с частотой F(2).

C{3} 4 1 векторный [0;1;2;4] поскольку все значения в третьей строке происходят с частотой F(3).

Задайте вектор 1 на 4 из 16-битного беззнакового целого.

rng('default')
A = randi(10,[1,4],'uint16')
A = 1x4 uint16 row vector

    9   10    2   10

Найдите наиболее частое значение, а также число раз, это происходит.

[M,F] = mode(A)
M = uint16
    10
F = 2
class(M)
ans = 
'uint16'

M тот же класс как вход, A.

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

свернуть все

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

NaN или NaT (Не Время) значения во входном массиве, A, проигнорированы. Неопределенные значения в категориальных массивах похожи на NaNs в числовых массивах.

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

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

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

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

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

mode возвращает A если dim больше ndims(A).

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

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

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

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

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

свернуть все

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

Класс M совпадает с классом входного массива, A.

Массив частоты, возвращенный как скаляр, вектор, матрица или многомерный массив. Размер F совпадает с размером M, и каждый элемент F представляет количество случаев соответствующего элемента M.

Класс F всегда double.

Наиболее частые значения с кратностью, возвращенной как массив ячеек. Размер C совпадает с размером M и F, и каждый элемент C отсортированный вектор-столбец всех значений, которые имеют ту же частоту как соответствующий элемент M.

Советы

  • mode функция является самой полезной с дискретными или грубо округленными данными. Режим для непрерывного вероятностного распределения задан как пик его функции плотности. Применение mode функция к выборке от того распределения вряд ли обеспечит хорошую оценку пика; было бы лучше вычислить гистограмму, или плотность оценивают и вычисляют пик той оценки. Кроме того, mode функция не подходит для нахождения peaks в распределениях, имеющих несколько режимов.

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

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

| | | |

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