M = mode(X) returns
the sample mode of X, which is the most frequently
occurring value in X. When there are multiple values
occurring equally frequently, mode returns the
smallest of those values. For complex inputs, the smallest value is
the first value in a sorted list.

If X is a vector, then mode(X) returns
the most frequent value of X.

If X is a nonempty matrix, then mode(X) returns
a row vector containing the mode of each column of X.

If X is an empty 0-by-0 matrix, mode(X) returns NaN.

If X is a multidimensional array,
then mode(X) acts along the first nonsingleton dimension and
returns an array of most frequent values. The size of this dimension
reduces to 1 while the sizes of all other dimensions
remain the same.

M = mode(X,dim) returns
the mode of elements along dimension dim. For example,
if X is a matrix, then mode(X,2) is
a column vector containing the most frequent value of each row

[M,F] =
mode(___) also returns a frequency array F,
using any of the input arguments in the previous syntaxes. F is
the same size as M, and each element of F represents
the number of occurrences of the corresponding element of M.

[M,F,C]
= mode(___) also returns a cell array C of
the same size as M and F. Each
element of C is a sorted vector of all values that
have the same frequency as the corresponding element of M.

This operation produces a 1-by-1-by-4 array by finding the most
frequent value along the second dimension. The size of the second
dimension reduces to 1.

Compute the mode along the first dimension of X.

M = mode(X,1);
isequal(X,M)

ans =
1

This returns the same array as X because
the size of the first dimension is 1.

Dimension to operate along, specified as a positive integer
scalar. If no value is specified, the default is the first array dimension
whose size does not equal 1.

Dimension dim indicates the dimension whose
length reduces to 1. The size(M,dim) is 1,
while the sizes of all other dimensions remain the same.

Consider a two-dimensional input array, X.

If dim = 1, then mode(X,1) returns
a row vector containing the most frequent value in each column.

If dim = 2, then mode(X,2) returns
a column vector containing the most frequent value in each row.

Most frequent values returned as a scalar, vector, matrix, or
multidimensional array. When there are multiple values occurring equally
frequently, mode returns the smallest of those
values. For complex inputs, this is taken to be the first value in
a sorted list of values.

The class of M is the same as the class of
the input array, X.

Frequency array returned as a scalar, vector, matrix, or multidimensional
array. The size of F is the same as the size of M,
and each element of F represents the number of
occurrences of the corresponding element of M.

Most frequent values with multiplicity returned as a cell array.
The size of C is the same as the size of M and F,
and each element of C is a sorted column vector
of all values that have the same frequency as the corresponding element
of M.

The mode function is most useful
with discrete or coarsely rounded data. The mode for a continuous
probability distribution is defined as the peak of its density function.
Applying the mode function to a sample from that
distribution is unlikely to provide a good estimate of the peak; it
would be better to compute a histogram or density estimate and calculate
the peak of that estimate. Also, the mode function
is not suitable for finding peaks in distributions having multiple
modes.