режим

Большинство частых значений в массиве

Синтаксис

M = mode(A)
M = mode(A,'all')
M = mode(A,dim)
M = mode(A,vecdim)
[M,F] = mode(___)
[M,F,C] = 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.

пример

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.

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 = mode(A)
M = 
M(:,:,1) =

    10


M(:,:,2) =

     5


M(:,:,3) =

     1


M(:,:,4) =

     4

Эта операция производит 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

Чтобы вычислить режим по всем размерностям массива, можно или задать каждую размерность в векторном аргументе размерности или использовать опцию '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 = 3x1 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-битного беззнакового целого.

A = gallery('integerdata',10,[1,4],3,'uint16')
A = 1x4 uint16 row vector

   6   3   2   3

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

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

M является тем же классом как входной параметр, A.

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

свернуть все

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

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

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

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

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

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

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

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

Типы данных: удвойтесь | единственный | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

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

Типы данных: удвойтесь | единственный | 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

Была ли эта тема полезной?